Skip to content

Commit d668fe7

Browse files
committed
Update tests
1 parent a9c2f36 commit d668fe7

10 files changed

Lines changed: 538 additions & 233 deletions

test/EFCore.Jet.FunctionalTests/Query/ComplexNavigationsQueryJetTest.cs

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Threading.Tasks;
55
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
66
using Microsoft.EntityFrameworkCore;
7+
using Microsoft.EntityFrameworkCore.Diagnostics;
78
using Microsoft.EntityFrameworkCore.Query;
89
using Microsoft.EntityFrameworkCore.TestUtilities;
910
using Xunit;
@@ -762,36 +763,51 @@ public override async Task SelectMany_navigation_comparison2(bool isAsync)
762763
await base.SelectMany_navigation_comparison2(isAsync);
763764

764765
AssertSql(
765-
$@"SELECT `l`.`Id` AS `Id1`, `l0`.`Id` AS `Id2`
766-
FROM `LevelOne` AS `l`,
767-
`LevelTwo` AS `l0`
768-
LEFT JOIN `LevelOne` AS `l1` ON `l0`.`Level1_Optional_Id` = `l1`.`Id`
769-
WHERE `l`.`Id` = `l1`.`Id`");
766+
"""
767+
SELECT `t`.`Id` AS `Id1`, `t`.`Id0` AS `Id2`
768+
FROM (
769+
SELECT `l`.`Id`, `l0`.`Id` AS `Id0`, `l0`.`Level1_Optional_Id`
770+
FROM `LevelOne` AS `l`,
771+
`LevelTwo` AS `l0`
772+
) AS `t`
773+
LEFT JOIN `LevelOne` AS `l1` ON `t`.`Level1_Optional_Id` = `l1`.`Id`
774+
WHERE `t`.`Id` = `l1`.`Id`
775+
""");
770776
}
771777

772778
public override async Task SelectMany_navigation_comparison3(bool isAsync)
773779
{
774780
await base.SelectMany_navigation_comparison3(isAsync);
775781

776782
AssertSql(
777-
$@"SELECT `l`.`Id` AS `Id1`, `l0`.`Id` AS `Id2`
778-
FROM `LevelOne` AS `l`,
779-
`LevelTwo` AS `l0`
780-
LEFT JOIN `LevelTwo` AS `l1` ON `l`.`Id` = `l1`.`Level1_Optional_Id`
781-
WHERE `l1`.`Id` = `l0`.`Id`");
783+
"""
784+
SELECT `t`.`Id` AS `Id1`, `t`.`Id0` AS `Id2`
785+
FROM (
786+
SELECT `l`.`Id`, `l0`.`Id` AS `Id0`
787+
FROM `LevelOne` AS `l`,
788+
`LevelTwo` AS `l0`
789+
) AS `t`
790+
LEFT JOIN `LevelTwo` AS `l1` ON `t`.`Id` = `l1`.`Level1_Optional_Id`
791+
WHERE `l1`.`Id` = `t`.`Id0`
792+
""");
782793
}
783794

784795
public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse1(bool isAsync)
785796
{
786797
await base.Where_complex_predicate_with_with_nav_prop_and_OrElse1(isAsync);
787798

788799
AssertSql(
789-
$@"SELECT `l`.`Id` AS `Id1`, `l0`.`Id` AS `Id2`
790-
FROM `LevelOne` AS `l`,
791-
`LevelTwo` AS `l0`
792-
LEFT JOIN `LevelTwo` AS `l1` ON `l`.`Id` = `l1`.`Level1_Optional_Id`
793-
INNER JOIN `LevelOne` AS `l2` ON `l0`.`Level1_Required_Id` = `l2`.`Id`
794-
WHERE `l1`.`Name` = 'L2 01' OR (`l2`.`Name` <> 'Bar' OR (`l2`.`Name` IS NULL))");
800+
"""
801+
SELECT `t`.`Id` AS `Id1`, `t`.`Id0` AS `Id2`
802+
FROM ((
803+
SELECT `l`.`Id`, `l0`.`Id` AS `Id0`, `l0`.`Level1_Required_Id`
804+
FROM `LevelOne` AS `l`,
805+
`LevelTwo` AS `l0`
806+
) AS `t`
807+
LEFT JOIN `LevelTwo` AS `l1` ON `t`.`Id` = `l1`.`Level1_Optional_Id`)
808+
INNER JOIN `LevelOne` AS `l2` ON `t`.`Level1_Required_Id` = `l2`.`Id`
809+
WHERE `l1`.`Name` = 'L2 01' OR `l2`.`Name` <> 'Bar' OR (`l2`.`Name` IS NULL)
810+
""");
795811
}
796812

797813
public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse2(bool isAsync)
@@ -2063,12 +2079,13 @@ public override async Task GroupJoin_client_method_on_outer(bool isAsync)
20632079

20642080
public override async Task GroupJoin_client_method_in_OrderBy(bool isAsync)
20652081
{
2066-
await base.GroupJoin_client_method_in_OrderBy(isAsync);
2082+
await AssertTranslationFailedWithDetails(
2083+
() => base.GroupJoin_client_method_in_OrderBy(isAsync),
2084+
CoreStrings.QueryUnableToTranslateMethod(
2085+
"Microsoft.EntityFrameworkCore.Query.ComplexNavigationsQueryTestBase<EntityFrameworkCore.Jet.FunctionalTests.Query.ComplexNavigationsQueryJetFixture>",
2086+
"ClientMethodNullableInt"));
20672087

2068-
AssertSql(
2069-
$@"SELECT `l1`.`Id`, `l2`.`Id`
2070-
FROM `LevelOne` AS `l1`
2071-
LEFT JOIN `LevelTwo` AS `l2` ON `l1`.`Id` = `l2`.`Level1_Optional_Id`");
2088+
AssertSql();
20722089
}
20732090

20742091
public override async Task GroupJoin_without_DefaultIfEmpty(bool isAsync)

test/EFCore.Jet.FunctionalTests/Query/GearsOfWarQueryJetTest.cs

Lines changed: 314 additions & 84 deletions
Large diffs are not rendered by default.

test/EFCore.Jet.FunctionalTests/Query/NorthwindAggregateOperatorsQueryJetTest.ResultOperators.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,16 @@ public override async Task Average_over_subquery_is_client_eval(bool isAsync)
265265
await base.Average_over_subquery_is_client_eval(isAsync);
266266

267267
AssertSql(
268-
$@"SELECT AVG(CDBL((
269-
SELECT IIF(SUM(`o`.`OrderID`) IS NULL, 0, SUM(`o`.`OrderID`))
270-
FROM `Orders` AS `o`
271-
WHERE `c`.`CustomerID` = `o`.`CustomerID`)))
272-
FROM `Customers` AS `c`");
268+
"""
269+
SELECT AVG(IIF((
270+
SELECT IIF(SUM(`o`.`OrderID`) IS NULL, 0, SUM(`o`.`OrderID`))
271+
FROM `Orders` AS `o`
272+
WHERE `c`.`CustomerID` = `o`.`CustomerID`) IS NULL, NULL, CDBL((
273+
SELECT IIF(SUM(`o`.`OrderID`) IS NULL, 0, SUM(`o`.`OrderID`))
274+
FROM `Orders` AS `o`
275+
WHERE `c`.`CustomerID` = `o`.`CustomerID`))))
276+
FROM `Customers` AS `c`
277+
""");
273278
}
274279

275280
public override async Task Average_over_nested_subquery_is_client_eval(bool isAsync)

test/EFCore.Jet.FunctionalTests/Query/NorthwindFunctionsQueryJetTest.Functions.cs

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ public override async Task String_Join_with_predicate(bool async)
306306
await base.String_Join_with_predicate(async);
307307

308308
AssertSql(
309-
"""
309+
"""
310310
SELECT `t`.`City`, `t0`.`CustomerID`
311311
FROM (
312312
SELECT `c`.`City`
@@ -316,7 +316,7 @@ GROUP BY `c`.`City`
316316
LEFT JOIN (
317317
SELECT `c0`.`CustomerID`, `c0`.`City`
318318
FROM `Customers` AS `c0`
319-
WHERE CLNG(LEN(`c0`.`ContactName`)) > 10
319+
WHERE IIF(LEN(`c0`.`ContactName`) IS NULL, NULL, CLNG(LEN(`c0`.`ContactName`))) > 10
320320
) AS `t0` ON `t`.`City` = `t0`.`City`
321321
ORDER BY `t`.`City`
322322
""");
@@ -1229,23 +1229,23 @@ public override async Task Where_mathf_truncate(bool async)
12291229
await base.Where_mathf_truncate(async);
12301230

12311231
AssertSql(
1232-
"""
1233-
SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
1234-
FROM `Order Details` AS `o`
1235-
WHERE `o`.`Quantity` < 5 AND CSNG(INT(CSNG(`o`.`UnitPrice`))) > 10
1236-
""");
1232+
"""
1233+
SELECT `o`.`OrderID`, `o`.`ProductID`, `o`.`Discount`, `o`.`Quantity`, `o`.`UnitPrice`
1234+
FROM `Order Details` AS `o`
1235+
WHERE `o`.`Quantity` < 5 AND IIF(INT(CSNG(`o`.`UnitPrice`)) IS NULL, NULL, CSNG(INT(CSNG(`o`.`UnitPrice`)))) > 10
1236+
""");
12371237
}
12381238

12391239
public override async Task Select_mathf_truncate(bool async)
12401240
{
12411241
await base.Select_mathf_truncate(async);
12421242

12431243
AssertSql(
1244-
"""
1245-
SELECT CSNG(INT(CSNG(`o`.`UnitPrice`)))
1246-
FROM `Order Details` AS `o`
1247-
WHERE `o`.`Quantity` < 5
1248-
""");
1244+
"""
1245+
SELECT IIF(INT(CSNG(`o`.`UnitPrice`)) IS NULL, NULL, CSNG(INT(CSNG(`o`.`UnitPrice`))))
1246+
FROM `Order Details` AS `o`
1247+
WHERE `o`.`Quantity` < 5
1248+
""");
12491249
}
12501250

12511251
public override async Task Where_mathf_exp(bool async)
@@ -1440,10 +1440,10 @@ public override async Task Where_functions_nested(bool isAsync)
14401440

14411441
AssertSql(
14421442
"""
1443-
SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
1444-
FROM `Customers` AS `c`
1445-
WHERE CDBL(CLNG(LEN(`c`.`CustomerID`)))^2.0 = 25.0
1446-
""");
1443+
SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
1444+
FROM `Customers` AS `c`
1445+
WHERE CDBL(IIF(LEN(`c`.`CustomerID`) IS NULL, NULL, CLNG(LEN(`c`.`CustomerID`))))^2.0 = 25.0
1446+
""");
14471447
}
14481448

14491449
public override async Task Convert_ToBoolean(bool async)
@@ -2154,20 +2154,24 @@ public override async Task Order_by_length_twice(bool isAsync)
21542154
await base.Order_by_length_twice(isAsync);
21552155

21562156
AssertSql(
2157-
$@"SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
2158-
FROM `Customers` AS `c`
2159-
ORDER BY CLNG(LEN(`c`.`CustomerID`)), `c`.`CustomerID`");
2157+
"""
2158+
SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region`
2159+
FROM `Customers` AS `c`
2160+
ORDER BY IIF(LEN(`c`.`CustomerID`) IS NULL, NULL, CLNG(LEN(`c`.`CustomerID`))), `c`.`CustomerID`
2161+
""");
21602162
}
21612163

21622164
public override async Task Order_by_length_twice_followed_by_projection_of_naked_collection_navigation(bool isAsync)
21632165
{
21642166
await base.Order_by_length_twice_followed_by_projection_of_naked_collection_navigation(isAsync);
21652167

21662168
AssertSql(
2167-
$@"SELECT `c`.`CustomerID`, `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
2168-
FROM `Customers` AS `c`
2169-
LEFT JOIN `Orders` AS `o` ON `c`.`CustomerID` = `o`.`CustomerID`
2170-
ORDER BY CLNG(LEN(`c`.`CustomerID`)), `c`.`CustomerID`");
2169+
"""
2170+
SELECT `c`.`CustomerID`, `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`
2171+
FROM `Customers` AS `c`
2172+
LEFT JOIN `Orders` AS `o` ON `c`.`CustomerID` = `o`.`CustomerID`
2173+
ORDER BY IIF(LEN(`c`.`CustomerID`) IS NULL, NULL, CLNG(LEN(`c`.`CustomerID`))), `c`.`CustomerID`
2174+
""");
21712175
}
21722176

21732177
public override async Task Static_string_equals_in_predicate(bool isAsync)

test/EFCore.Jet.FunctionalTests/Query/NorthwindGroupByQueryJetTest.cs

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -474,9 +474,11 @@ public override async Task GroupBy_Dto_as_element_selector_Select_Sum(bool isAsy
474474
await base.GroupBy_Dto_as_element_selector_Select_Sum(isAsync);
475475

476476
AssertSql(
477-
$@"SELECT IIF(SUM(CLNG(`o`.`EmployeeID`)) IS NULL, 0, SUM(CLNG(`o`.`EmployeeID`))) AS `Sum`, `o`.`CustomerID` AS `Key`
478-
FROM `Orders` AS `o`
479-
GROUP BY `o`.`CustomerID`");
477+
"""
478+
SELECT IIF(SUM(IIF(`o`.`EmployeeID` IS NULL, NULL, CLNG(`o`.`EmployeeID`))) IS NULL, 0, SUM(IIF(`o`.`EmployeeID` IS NULL, NULL, CLNG(`o`.`EmployeeID`)))) AS `Sum`, `o`.`CustomerID` AS `Key`
479+
FROM `Orders` AS `o`
480+
GROUP BY `o`.`CustomerID`
481+
""");
480482
}
481483

482484
public override async Task GroupBy_Composite_Select_Dto_Sum_Min_Key_flattened_Max_Avg(bool isAsync)
@@ -1022,11 +1024,13 @@ public override async Task GroupJoin_GroupBy_Aggregate(bool isAsync)
10221024
await base.GroupJoin_GroupBy_Aggregate(isAsync);
10231025

10241026
AssertSql(
1025-
$@"SELECT `o`.`CustomerID` AS `Key`, AVG(CDBL(`o`.`OrderID`)) AS `Average`
1026-
FROM `Customers` AS `c`
1027-
LEFT JOIN `Orders` AS `o` ON `c`.`CustomerID` = `o`.`CustomerID`
1028-
WHERE `o`.`OrderID` IS NOT NULL
1029-
GROUP BY `o`.`CustomerID`");
1027+
"""
1028+
SELECT `o`.`CustomerID` AS `Key`, AVG(IIF(`o`.`OrderID` IS NULL, NULL, CDBL(`o`.`OrderID`))) AS `Average`
1029+
FROM `Customers` AS `c`
1030+
LEFT JOIN `Orders` AS `o` ON `c`.`CustomerID` = `o`.`CustomerID`
1031+
WHERE `o`.`OrderID` IS NOT NULL
1032+
GROUP BY `o`.`CustomerID`
1033+
""");
10301034
}
10311035

10321036
public override async Task GroupJoin_GroupBy_Aggregate_2(bool isAsync)
@@ -1944,9 +1948,11 @@ public override async Task Group_by_with_arithmetic_operation_inside_aggregate(b
19441948
await base.Group_by_with_arithmetic_operation_inside_aggregate(isAsync);
19451949

19461950
AssertSql(
1947-
$@"SELECT `o`.`CustomerID` AS `Key`, IIF(SUM(`o`.`OrderID` + CLNG(LEN(`o`.`CustomerID`))) IS NULL, 0, SUM(`o`.`OrderID` + CLNG(LEN(`o`.`CustomerID`)))) AS `Sum`
1948-
FROM `Orders` AS `o`
1949-
GROUP BY `o`.`CustomerID`");
1951+
"""
1952+
SELECT `o`.`CustomerID` AS `Key`, IIF(SUM(`o`.`OrderID` + IIF(LEN(`o`.`CustomerID`) IS NULL, NULL, CLNG(LEN(`o`.`CustomerID`)))) IS NULL, 0, SUM(`o`.`OrderID` + IIF(LEN(`o`.`CustomerID`) IS NULL, NULL, CLNG(LEN(`o`.`CustomerID`))))) AS `Sum`
1953+
FROM `Orders` AS `o`
1954+
GROUP BY `o`.`CustomerID`
1955+
""");
19501956
}
19511957

19521958
private void AssertSql(params string[] expected)

test/EFCore.Jet.FunctionalTests/Query/NorthwindMiscellaneousQueryJetTest.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4018,13 +4018,19 @@ public override async Task Comparing_navigations_using_static_Equals(bool isAsyn
40184018
await base.Comparing_navigations_using_static_Equals(isAsync);
40194019

40204020
AssertSql(
4021-
$@"SELECT `o`.`OrderID` AS `Id1`, `o0`.`OrderID` AS `Id2`
4022-
FROM `Orders` AS `o`,
4023-
`Orders` AS `o0`
4024-
LEFT JOIN `Customers` AS `c` ON `o`.`CustomerID` = `c`.`CustomerID`
4025-
LEFT JOIN `Customers` AS `c0` ON `o0`.`CustomerID` = `c0`.`CustomerID`
4026-
WHERE (`o`.`CustomerID` IS NOT NULL AND (`o`.`CustomerID` LIKE 'A' & '%')) AND ((`c`.`CustomerID` = `c0`.`CustomerID`) OR (`c`.`CustomerID` IS NULL AND `c0`.`CustomerID` IS NULL))
4027-
ORDER BY `o`.`OrderID`, `o0`.`OrderID`");
4021+
"""
4022+
SELECT `t`.`OrderID` AS `Id1`, `t`.`OrderID0` AS `Id2`
4023+
FROM ((
4024+
SELECT `o`.`OrderID`, `o`.`CustomerID`, `o0`.`OrderID` AS `OrderID0`, `o0`.`CustomerID` AS `CustomerID0`
4025+
FROM `Orders` AS `o`,
4026+
`Orders` AS `o0`
4027+
WHERE (`o`.`CustomerID` IS NOT NULL) AND (`o`.`CustomerID` LIKE 'A%')
4028+
) AS `t`
4029+
LEFT JOIN `Customers` AS `c` ON `t`.`CustomerID` = `c`.`CustomerID`)
4030+
LEFT JOIN `Customers` AS `c0` ON `t`.`CustomerID0` = `c0`.`CustomerID`
4031+
WHERE `c`.`CustomerID` = `c0`.`CustomerID` OR ((`c`.`CustomerID` IS NULL) AND (`c0`.`CustomerID` IS NULL))
4032+
ORDER BY `t`.`OrderID`, `t`.`OrderID0`
4033+
""");
40284034
}
40294035

40304036
public override async Task Comparing_non_matching_entities_using_Equals(bool isAsync)

test/EFCore.Jet.FunctionalTests/Query/NorthwindNavigationsQueryJetTest.cs

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ public NorthwindNavigationsQueryJetTest(
1414
NorthwindQueryJetFixture<NoopModelCustomizer> fixture, ITestOutputHelper testOutputHelper)
1515
: base(fixture)
1616
{
17-
fixture.TestSqlLoggerFactory.Clear();
17+
ClearLog();
18+
//Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
1819
}
19-
20+
2021
public override async Task Select_Where_Navigation(bool isAsync)
2122
{
2223
await base.Select_Where_Navigation(isAsync);
@@ -314,29 +315,41 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal
314315
await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(isAsync);
315316

316317
AssertSql(
317-
$@"SELECT `o`.`CustomerID`, `t`.`CustomerID` AS `C2`
318-
FROM `Orders` AS `o`,
319-
(
320-
SELECT `o0`.`OrderID`, `o0`.`CustomerID`, `o0`.`EmployeeID`, `o0`.`OrderDate`
321-
FROM `Orders` AS `o0`
322-
WHERE `o0`.`OrderID` < 10400
323-
) AS `t`
324-
LEFT JOIN `Customers` AS `c` ON `o`.`CustomerID` = `c`.`CustomerID`
325-
LEFT JOIN `Customers` AS `c0` ON `t`.`CustomerID` = `c0`.`CustomerID`
326-
WHERE (`o`.`OrderID` < 10300) AND ((`c`.`City` = `c0`.`City`) OR (`c`.`City` IS NULL AND `c0`.`City` IS NULL))");
318+
"""
319+
SELECT `t0`.`CustomerID`, `t0`.`CustomerID0` AS `C2`
320+
FROM ((
321+
SELECT `o`.`CustomerID`, `t`.`CustomerID` AS `CustomerID0`
322+
FROM `Orders` AS `o`,
323+
(
324+
SELECT `o0`.`CustomerID`
325+
FROM `Orders` AS `o0`
326+
WHERE `o0`.`OrderID` < 10400
327+
) AS `t`
328+
WHERE `o`.`OrderID` < 10300
329+
) AS `t0`
330+
LEFT JOIN `Customers` AS `c` ON `t0`.`CustomerID` = `c`.`CustomerID`)
331+
LEFT JOIN `Customers` AS `c0` ON `t0`.`CustomerID0` = `c0`.`CustomerID`
332+
WHERE `c`.`City` = `c0`.`City` OR ((`c`.`City` IS NULL) AND (`c0`.`City` IS NULL))
333+
""");
327334
}
328335

329336
public override async Task Select_Where_Navigation_Equals_Navigation(bool isAsync)
330337
{
331338
await base.Select_Where_Navigation_Equals_Navigation(isAsync);
332339

333340
AssertSql(
334-
$@"SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`, `o0`.`OrderID`, `o0`.`CustomerID`, `o0`.`EmployeeID`, `o0`.`OrderDate`
335-
FROM `Orders` AS `o`,
336-
`Orders` AS `o0`
337-
LEFT JOIN `Customers` AS `c` ON `o`.`CustomerID` = `c`.`CustomerID`
338-
LEFT JOIN `Customers` AS `c0` ON `o0`.`CustomerID` = `c0`.`CustomerID`
339-
WHERE ((`o`.`CustomerID` IS NOT NULL AND (`o`.`CustomerID` LIKE 'A' & '%')) AND (`o0`.`CustomerID` IS NOT NULL AND (`o0`.`CustomerID` LIKE 'A' & '%'))) AND ((`c`.`CustomerID` = `c0`.`CustomerID`) OR (`c`.`CustomerID` IS NULL AND `c0`.`CustomerID` IS NULL))");
341+
"""
342+
SELECT `t`.`OrderID`, `t`.`CustomerID`, `t`.`EmployeeID`, `t`.`OrderDate`, `t`.`OrderID0`, `t`.`CustomerID0`, `t`.`EmployeeID0`, `t`.`OrderDate0`
343+
FROM ((
344+
SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate`, `o0`.`OrderID` AS `OrderID0`, `o0`.`CustomerID` AS `CustomerID0`, `o0`.`EmployeeID` AS `EmployeeID0`, `o0`.`OrderDate` AS `OrderDate0`
345+
FROM `Orders` AS `o`,
346+
`Orders` AS `o0`
347+
WHERE (`o`.`CustomerID` IS NOT NULL) AND (`o`.`CustomerID` LIKE 'A%') AND (`o0`.`CustomerID` IS NOT NULL) AND (`o0`.`CustomerID` LIKE 'A%')
348+
) AS `t`
349+
LEFT JOIN `Customers` AS `c` ON `t`.`CustomerID` = `c`.`CustomerID`)
350+
LEFT JOIN `Customers` AS `c0` ON `t`.`CustomerID0` = `c0`.`CustomerID`
351+
WHERE `c`.`CustomerID` = `c0`.`CustomerID` OR ((`c`.`CustomerID` IS NULL) AND (`c0`.`CustomerID` IS NULL))
352+
""");
340353
}
341354

342355
public override async Task Select_Where_Navigation_Null(bool isAsync)

0 commit comments

Comments
 (0)