Skip to content

Commit 3ff5925

Browse files
committed
Use the correct function in SQL for Date (Jet doesn't do GetUTCDate)
1 parent 2dbd0fd commit 3ff5925

File tree

3 files changed

+247
-265
lines changed

3 files changed

+247
-265
lines changed

test/EFCore.Jet.FunctionalTests/ManyToManyFieldsLoadSqlServerTest.cs

Lines changed: 121 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,45 @@
1010
using Microsoft.EntityFrameworkCore.TestModels.ManyToManyFieldsModel;
1111
using Microsoft.EntityFrameworkCore.TestUtilities;
1212
using Xunit;
13+
using Xunit.Abstractions;
14+
using Xunit.Sdk;
1315

1416
namespace EntityFrameworkCore.Jet.FunctionalTests;
1517

1618
public class ManyToManyFieldsLoadJetTest : ManyToManyFieldsLoadTestBase<
1719
ManyToManyFieldsLoadJetTest.ManyToManyFieldsLoadJetFixture>
1820
{
19-
public ManyToManyFieldsLoadJetTest(ManyToManyFieldsLoadJetFixture fixture)
21+
public ManyToManyFieldsLoadJetTest(ManyToManyFieldsLoadJetFixture fixture, ITestOutputHelper testOutputHelper)
2022
: base(fixture)
2123
{
24+
Fixture.TestSqlLoggerFactory.Clear();
25+
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
2226
}
2327

2428
public override async Task Load_collection(EntityState state, QueryTrackingBehavior queryTrackingBehavior, bool async)
2529
{
2630
await base.Load_collection(state, queryTrackingBehavior, async);
2731

2832
AssertSql(
29-
"""
33+
"""
34+
@__p_0='3'
3035
@__p_0='3'
3136
32-
SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t0].[OneId], [t0].[TwoId], [t0].[Id], [t0].[Name]
33-
FROM [EntityOnes] AS [e]
37+
SELECT `t`.`Id`, `t`.`CollectionInverseId`, `t`.`Name`, `t`.`ReferenceInverseId`, `e`.`Id`, `t`.`OneId`, `t`.`TwoId`, `t0`.`OneId`, `t0`.`TwoId`, `t0`.`Id`, `t0`.`Name`
38+
FROM (`EntityOnes` AS `e`
3439
INNER JOIN (
35-
SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId]
36-
FROM [JoinOneToTwo] AS [j]
37-
INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id]
38-
) AS [t] ON [e].[Id] = [t].[OneId]
40+
SELECT `e0`.`Id`, `e0`.`CollectionInverseId`, `e0`.`Name`, `e0`.`ReferenceInverseId`, `j`.`OneId`, `j`.`TwoId`
41+
FROM `JoinOneToTwo` AS `j`
42+
INNER JOIN `EntityTwos` AS `e0` ON `j`.`TwoId` = `e0`.`Id`
43+
) AS `t` ON `e`.`Id` = `t`.`OneId`)
3944
LEFT JOIN (
40-
SELECT [j0].[OneId], [j0].[TwoId], [e1].[Id], [e1].[Name]
41-
FROM [JoinOneToTwo] AS [j0]
42-
INNER JOIN [EntityOnes] AS [e1] ON [j0].[OneId] = [e1].[Id]
43-
WHERE [e1].[Id] = @__p_0
44-
) AS [t0] ON [t].[Id] = [t0].[TwoId]
45-
WHERE [e].[Id] = @__p_0
46-
ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[OneId], [t0].[TwoId]
45+
SELECT `j0`.`OneId`, `j0`.`TwoId`, `e1`.`Id`, `e1`.`Name`
46+
FROM `JoinOneToTwo` AS `j0`
47+
INNER JOIN `EntityOnes` AS `e1` ON `j0`.`OneId` = `e1`.`Id`
48+
WHERE `e1`.`Id` = @__p_0
49+
) AS `t0` ON `t`.`Id` = `t0`.`TwoId`
50+
WHERE `e`.`Id` = @__p_0
51+
ORDER BY `e`.`Id`, `t`.`OneId`, `t`.`TwoId`, `t`.`Id`, `t0`.`OneId`, `t0`.`TwoId`
4752
""");
4853
}
4954

@@ -52,24 +57,25 @@ public override async Task Load_collection_using_Query_with_Include_for_inverse(
5257
await base.Load_collection_using_Query_with_Include_for_inverse(async);
5358

5459
AssertSql(
55-
"""
60+
"""
61+
@__p_0='3'
5662
@__p_0='3'
5763
58-
SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name]
59-
FROM [EntityOnes] AS [e]
64+
SELECT `t`.`Id`, `t`.`CollectionInverseId`, `t`.`Name`, `t`.`ReferenceInverseId`, `e`.`Id`, `t`.`OneSkipSharedId`, `t`.`TwoSkipSharedId`, `t0`.`OneSkipSharedId`, `t0`.`TwoSkipSharedId`, `t0`.`Id`, `t0`.`Name`
65+
FROM (`EntityOnes` AS `e`
6066
INNER JOIN (
61-
SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[OneSkipSharedId], [e0].[TwoSkipSharedId]
62-
FROM [EntityOneEntityTwo] AS [e0]
63-
INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id]
64-
) AS [t] ON [e].[Id] = [t].[OneSkipSharedId]
67+
SELECT `e1`.`Id`, `e1`.`CollectionInverseId`, `e1`.`Name`, `e1`.`ReferenceInverseId`, `e0`.`OneSkipSharedId`, `e0`.`TwoSkipSharedId`
68+
FROM `EntityOneEntityTwo` AS `e0`
69+
INNER JOIN `EntityTwos` AS `e1` ON `e0`.`TwoSkipSharedId` = `e1`.`Id`
70+
) AS `t` ON `e`.`Id` = `t`.`OneSkipSharedId`)
6571
LEFT JOIN (
66-
SELECT [e2].[OneSkipSharedId], [e2].[TwoSkipSharedId], [e3].[Id], [e3].[Name]
67-
FROM [EntityOneEntityTwo] AS [e2]
68-
INNER JOIN [EntityOnes] AS [e3] ON [e2].[OneSkipSharedId] = [e3].[Id]
69-
WHERE [e3].[Id] = @__p_0
70-
) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId]
71-
WHERE [e].[Id] = @__p_0
72-
ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId]
72+
SELECT `e2`.`OneSkipSharedId`, `e2`.`TwoSkipSharedId`, `e3`.`Id`, `e3`.`Name`
73+
FROM `EntityOneEntityTwo` AS `e2`
74+
INNER JOIN `EntityOnes` AS `e3` ON `e2`.`OneSkipSharedId` = `e3`.`Id`
75+
WHERE `e3`.`Id` = @__p_0
76+
) AS `t0` ON `t`.`Id` = `t0`.`TwoSkipSharedId`
77+
WHERE `e`.`Id` = @__p_0
78+
ORDER BY `e`.`Id`, `t`.`OneSkipSharedId`, `t`.`TwoSkipSharedId`, `t`.`Id`, `t0`.`OneSkipSharedId`, `t0`.`TwoSkipSharedId`
7379
""");
7480
}
7581

@@ -78,29 +84,30 @@ public override async Task Load_collection_using_Query_with_Include_for_same_col
7884
await base.Load_collection_using_Query_with_Include_for_same_collection(async);
7985

8086
AssertSql(
81-
"""
87+
"""
88+
@__p_0='3'
8289
@__p_0='3'
8390
84-
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]
85-
FROM [EntityOnes] AS [e]
91+
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`
92+
FROM (`EntityOnes` AS `e`
8693
INNER JOIN (
87-
SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[OneSkipSharedId], [e0].[TwoSkipSharedId]
88-
FROM [EntityOneEntityTwo] AS [e0]
89-
INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id]
90-
) AS [t] ON [e].[Id] = [t].[OneSkipSharedId]
94+
SELECT `e1`.`Id`, `e1`.`CollectionInverseId`, `e1`.`Name`, `e1`.`ReferenceInverseId`, `e0`.`OneSkipSharedId`, `e0`.`TwoSkipSharedId`
95+
FROM `EntityOneEntityTwo` AS `e0`
96+
INNER JOIN `EntityTwos` AS `e1` ON `e0`.`TwoSkipSharedId` = `e1`.`Id`
97+
) AS `t` ON `e`.`Id` = `t`.`OneSkipSharedId`)
9198
LEFT JOIN (
92-
SELECT [e2].[OneSkipSharedId], [e2].[TwoSkipSharedId], [e3].[Id], [e3].[Name], [t1].[OneSkipSharedId] AS [OneSkipSharedId0], [t1].[TwoSkipSharedId] AS [TwoSkipSharedId0], [t1].[Id] AS [Id0], [t1].[CollectionInverseId], [t1].[Name] AS [Name0], [t1].[ReferenceInverseId]
93-
FROM [EntityOneEntityTwo] AS [e2]
94-
INNER JOIN [EntityOnes] AS [e3] ON [e2].[OneSkipSharedId] = [e3].[Id]
99+
SELECT `e2`.`OneSkipSharedId`, `e2`.`TwoSkipSharedId`, `e3`.`Id`, `e3`.`Name`, `t1`.`OneSkipSharedId` AS `OneSkipSharedId0`, `t1`.`TwoSkipSharedId` AS `TwoSkipSharedId0`, `t1`.`Id` AS `Id0`, `t1`.`CollectionInverseId`, `t1`.`Name` AS `Name0`, `t1`.`ReferenceInverseId`
100+
FROM (`EntityOneEntityTwo` AS `e2`
101+
INNER JOIN `EntityOnes` AS `e3` ON `e2`.`OneSkipSharedId` = `e3`.`Id`)
95102
LEFT JOIN (
96-
SELECT [e4].[OneSkipSharedId], [e4].[TwoSkipSharedId], [e5].[Id], [e5].[CollectionInverseId], [e5].[Name], [e5].[ReferenceInverseId]
97-
FROM [EntityOneEntityTwo] AS [e4]
98-
INNER JOIN [EntityTwos] AS [e5] ON [e4].[TwoSkipSharedId] = [e5].[Id]
99-
) AS [t1] ON [e3].[Id] = [t1].[OneSkipSharedId]
100-
WHERE [e3].[Id] = @__p_0
101-
) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId]
102-
WHERE [e].[Id] = @__p_0
103-
ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0]
103+
SELECT `e4`.`OneSkipSharedId`, `e4`.`TwoSkipSharedId`, `e5`.`Id`, `e5`.`CollectionInverseId`, `e5`.`Name`, `e5`.`ReferenceInverseId`
104+
FROM `EntityOneEntityTwo` AS `e4`
105+
INNER JOIN `EntityTwos` AS `e5` ON `e4`.`TwoSkipSharedId` = `e5`.`Id`
106+
) AS `t1` ON `e3`.`Id` = `t1`.`OneSkipSharedId`
107+
WHERE `e3`.`Id` = @__p_0
108+
) AS `t0` ON `t`.`Id` = `t0`.`TwoSkipSharedId`
109+
WHERE `e`.`Id` = @__p_0
110+
ORDER BY `e`.`Id`, `t`.`OneSkipSharedId`, `t`.`TwoSkipSharedId`, `t`.`Id`, `t0`.`OneSkipSharedId`, `t0`.`TwoSkipSharedId`, `t0`.`Id`, `t0`.`OneSkipSharedId0`, `t0`.`TwoSkipSharedId0`
104111
""");
105112
}
106113

@@ -109,29 +116,30 @@ public override async Task Load_collection_using_Query_with_Include(bool async)
109116
await base.Load_collection_using_Query_with_Include(async);
110117

111118
AssertSql(
112-
"""
119+
"""
120+
@__p_0='3'
113121
@__p_0='3'
114122
115-
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]
116-
FROM [EntityOnes] AS [e]
123+
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`
124+
FROM ((`EntityOnes` AS `e`
117125
INNER JOIN (
118-
SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[OneSkipSharedId], [e0].[TwoSkipSharedId]
119-
FROM [EntityOneEntityTwo] AS [e0]
120-
INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id]
121-
) AS [t] ON [e].[Id] = [t].[OneSkipSharedId]
126+
SELECT `e1`.`Id`, `e1`.`CollectionInverseId`, `e1`.`Name`, `e1`.`ReferenceInverseId`, `e0`.`OneSkipSharedId`, `e0`.`TwoSkipSharedId`
127+
FROM `EntityOneEntityTwo` AS `e0`
128+
INNER JOIN `EntityTwos` AS `e1` ON `e0`.`TwoSkipSharedId` = `e1`.`Id`
129+
) AS `t` ON `e`.`Id` = `t`.`OneSkipSharedId`)
122130
LEFT JOIN (
123-
SELECT [e2].[OneSkipSharedId], [e2].[TwoSkipSharedId], [e3].[Id], [e3].[Name]
124-
FROM [EntityOneEntityTwo] AS [e2]
125-
INNER JOIN [EntityOnes] AS [e3] ON [e2].[OneSkipSharedId] = [e3].[Id]
126-
WHERE [e3].[Id] = @__p_0
127-
) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId]
131+
SELECT `e2`.`OneSkipSharedId`, `e2`.`TwoSkipSharedId`, `e3`.`Id`, `e3`.`Name`
132+
FROM `EntityOneEntityTwo` AS `e2`
133+
INNER JOIN `EntityOnes` AS `e3` ON `e2`.`OneSkipSharedId` = `e3`.`Id`
134+
WHERE `e3`.`Id` = @__p_0
135+
) AS `t0` ON `t`.`Id` = `t0`.`TwoSkipSharedId`)
128136
LEFT JOIN (
129-
SELECT [j].[ThreeId], [j].[TwoId], [e4].[Id], [e4].[CollectionInverseId], [e4].[Name], [e4].[ReferenceInverseId]
130-
FROM [JoinTwoToThree] AS [j]
131-
INNER JOIN [EntityThrees] AS [e4] ON [j].[ThreeId] = [e4].[Id]
132-
) AS [t1] ON [t].[Id] = [t1].[TwoId]
133-
WHERE [e].[Id] = @__p_0
134-
ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId]
137+
SELECT `j`.`ThreeId`, `j`.`TwoId`, `e4`.`Id`, `e4`.`CollectionInverseId`, `e4`.`Name`, `e4`.`ReferenceInverseId`
138+
FROM `JoinTwoToThree` AS `j`
139+
INNER JOIN `EntityThrees` AS `e4` ON `j`.`ThreeId` = `e4`.`Id`
140+
) AS `t1` ON `t`.`Id` = `t1`.`TwoId`
141+
WHERE `e`.`Id` = @__p_0
142+
ORDER BY `e`.`Id`, `t`.`OneSkipSharedId`, `t`.`TwoSkipSharedId`, `t`.`Id`, `t0`.`OneSkipSharedId`, `t0`.`TwoSkipSharedId`, `t0`.`Id`, `t1`.`ThreeId`, `t1`.`TwoId`
135143
""");
136144
}
137145

@@ -140,30 +148,31 @@ public override async Task Load_collection_using_Query_with_filtered_Include(boo
140148
await base.Load_collection_using_Query_with_filtered_Include(async);
141149

142150
AssertSql(
143-
"""
151+
"""
152+
@__p_0='3'
144153
@__p_0='3'
145154
146-
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]
147-
FROM [EntityOnes] AS [e]
155+
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`
156+
FROM ((`EntityOnes` AS `e`
148157
INNER JOIN (
149-
SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[OneSkipSharedId], [e0].[TwoSkipSharedId]
150-
FROM [EntityOneEntityTwo] AS [e0]
151-
INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id]
152-
) AS [t] ON [e].[Id] = [t].[OneSkipSharedId]
158+
SELECT `e1`.`Id`, `e1`.`CollectionInverseId`, `e1`.`Name`, `e1`.`ReferenceInverseId`, `e0`.`OneSkipSharedId`, `e0`.`TwoSkipSharedId`
159+
FROM `EntityOneEntityTwo` AS `e0`
160+
INNER JOIN `EntityTwos` AS `e1` ON `e0`.`TwoSkipSharedId` = `e1`.`Id`
161+
) AS `t` ON `e`.`Id` = `t`.`OneSkipSharedId`)
153162
LEFT JOIN (
154-
SELECT [e2].[OneSkipSharedId], [e2].[TwoSkipSharedId], [e3].[Id], [e3].[Name]
155-
FROM [EntityOneEntityTwo] AS [e2]
156-
INNER JOIN [EntityOnes] AS [e3] ON [e2].[OneSkipSharedId] = [e3].[Id]
157-
WHERE [e3].[Id] = @__p_0
158-
) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId]
163+
SELECT `e2`.`OneSkipSharedId`, `e2`.`TwoSkipSharedId`, `e3`.`Id`, `e3`.`Name`
164+
FROM `EntityOneEntityTwo` AS `e2`
165+
INNER JOIN `EntityOnes` AS `e3` ON `e2`.`OneSkipSharedId` = `e3`.`Id`
166+
WHERE `e3`.`Id` = @__p_0
167+
) AS `t0` ON `t`.`Id` = `t0`.`TwoSkipSharedId`)
159168
LEFT JOIN (
160-
SELECT [j].[ThreeId], [j].[TwoId], [e4].[Id], [e4].[CollectionInverseId], [e4].[Name], [e4].[ReferenceInverseId]
161-
FROM [JoinTwoToThree] AS [j]
162-
INNER JOIN [EntityThrees] AS [e4] ON [j].[ThreeId] = [e4].[Id]
163-
WHERE [e4].[Id] IN (13, 11)
164-
) AS [t1] ON [t].[Id] = [t1].[TwoId]
165-
WHERE [e].[Id] = @__p_0
166-
ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId]
169+
SELECT `j`.`ThreeId`, `j`.`TwoId`, `e4`.`Id`, `e4`.`CollectionInverseId`, `e4`.`Name`, `e4`.`ReferenceInverseId`
170+
FROM `JoinTwoToThree` AS `j`
171+
INNER JOIN `EntityThrees` AS `e4` ON `j`.`ThreeId` = `e4`.`Id`
172+
WHERE `e4`.`Id` IN (13, 11)
173+
) AS `t1` ON `t`.`Id` = `t1`.`TwoId`
174+
WHERE `e`.`Id` = @__p_0
175+
ORDER BY `e`.`Id`, `t`.`OneSkipSharedId`, `t`.`TwoSkipSharedId`, `t`.`Id`, `t0`.`OneSkipSharedId`, `t0`.`TwoSkipSharedId`, `t0`.`Id`, `t1`.`ThreeId`, `t1`.`TwoId`
167176
""");
168177
}
169178

@@ -200,33 +209,34 @@ public override async Task Load_collection_using_Query_with_join(bool async)
200209
await base.Load_collection_using_Query_with_join(async);
201210

202211
AssertSql(
203-
"""
212+
"""
213+
@__p_0='3'
204214
@__p_0='3'
205215
206-
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]
207-
FROM [EntityOnes] AS [e]
216+
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`
217+
FROM ((`EntityOnes` AS `e`
208218
INNER JOIN (
209-
SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[OneSkipSharedId], [e0].[TwoSkipSharedId]
210-
FROM [EntityOneEntityTwo] AS [e0]
211-
INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id]
212-
) AS [t] ON [e].[Id] = [t].[OneSkipSharedId]
213-
INNER JOIN (
214-
SELECT [e2].[Id], [t1].[Id] AS [Id0], [t1].[CollectionInverseId], [t1].[Name] AS [Name0], [t1].[ReferenceInverseId], [t1].[OneSkipSharedId], [t1].[TwoSkipSharedId]
215-
FROM [EntityOnes] AS [e2]
219+
SELECT `e1`.`Id`, `e1`.`CollectionInverseId`, `e1`.`Name`, `e1`.`ReferenceInverseId`, `e0`.`OneSkipSharedId`, `e0`.`TwoSkipSharedId`
220+
FROM `EntityOneEntityTwo` AS `e0`
221+
INNER JOIN `EntityTwos` AS `e1` ON `e0`.`TwoSkipSharedId` = `e1`.`Id`
222+
) AS `t` ON `e`.`Id` = `t`.`OneSkipSharedId`)
223+
LEFT JOIN (
224+
SELECT `e2`.`Id`, `t1`.`Id` AS `Id0`, `t1`.`CollectionInverseId`, `t1`.`Name` AS `Name0`, `t1`.`ReferenceInverseId`, `t1`.`OneSkipSharedId`, `t1`.`TwoSkipSharedId`
225+
FROM `EntityOnes` AS `e2`
216226
INNER JOIN (
217-
SELECT [e4].[Id], [e4].[CollectionInverseId], [e4].[Name], [e4].[ReferenceInverseId], [e3].[OneSkipSharedId], [e3].[TwoSkipSharedId]
218-
FROM [EntityOneEntityTwo] AS [e3]
219-
INNER JOIN [EntityTwos] AS [e4] ON [e3].[TwoSkipSharedId] = [e4].[Id]
220-
) AS [t1] ON [e2].[Id] = [t1].[OneSkipSharedId]
221-
) AS [t0] ON [t].[Id] = [t0].[Id0]
227+
SELECT `e4`.`Id`, `e4`.`CollectionInverseId`, `e4`.`Name`, `e4`.`ReferenceInverseId`, `e3`.`OneSkipSharedId`, `e3`.`TwoSkipSharedId`
228+
FROM `EntityOneEntityTwo` AS `e3`
229+
INNER JOIN `EntityTwos` AS `e4` ON `e3`.`TwoSkipSharedId` = `e4`.`Id`
230+
) AS `t1` ON `e2`.`Id` = `t1`.`OneSkipSharedId`
231+
) AS `t0` ON `t`.`Id` = `t0`.`Id0`)
222232
LEFT JOIN (
223-
SELECT [e5].[OneSkipSharedId], [e5].[TwoSkipSharedId], [e6].[Id], [e6].[Name]
224-
FROM [EntityOneEntityTwo] AS [e5]
225-
INNER JOIN [EntityOnes] AS [e6] ON [e5].[OneSkipSharedId] = [e6].[Id]
226-
WHERE [e6].[Id] = @__p_0
227-
) AS [t2] ON [t].[Id] = [t2].[TwoSkipSharedId]
228-
WHERE [e].[Id] = @__p_0
229-
ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId]
233+
SELECT `e5`.`OneSkipSharedId`, `e5`.`TwoSkipSharedId`, `e6`.`Id`, `e6`.`Name`
234+
FROM `EntityOneEntityTwo` AS `e5`
235+
INNER JOIN `EntityOnes` AS `e6` ON `e5`.`OneSkipSharedId` = `e6`.`Id`
236+
WHERE `e6`.`Id` = @__p_0
237+
) AS `t2` ON `t`.`Id` = `t2`.`TwoSkipSharedId`
238+
WHERE (`e`.`Id` = @__p_0) AND (`t`.`Id` IS NOT NULL AND `t0`.`Id0` IS NOT NULL)
239+
ORDER BY `e`.`Id`, `t`.`OneSkipSharedId`, `t`.`TwoSkipSharedId`, `t`.`Id`, `t0`.`Id`, `t0`.`OneSkipSharedId`, `t0`.`TwoSkipSharedId`, `t0`.`Id0`, `t2`.`OneSkipSharedId`, `t2`.`TwoSkipSharedId`
230240
""");
231241
}
232242

@@ -238,8 +248,10 @@ protected override void RecordLog()
238248

239249
private const string FileNewLine = @"
240250
";
251+
private void AssertSql(params string[] expected)
252+
=> Fixture.TestSqlLoggerFactory.AssertBaseline(expected);
241253

242-
private void AssertSql(string expected)
254+
/*private void AssertSql(string expected)
243255
{
244256
try
245257
{
@@ -279,7 +291,7 @@ private void AssertSql(string expected)
279291
280292
throw;
281293
}
282-
}
294+
}*/
283295

284296
private string Sql { get; set; }
285297

@@ -298,7 +310,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con
298310
modelBuilder
299311
.Entity<JoinOneSelfPayload>()
300312
.Property(e => e.Payload)
301-
.HasDefaultValueSql("GETUTCDATE()");
313+
.HasDefaultValueSql("DATE()");
302314

303315
modelBuilder
304316
.SharedTypeEntity<Dictionary<string, object>>("JoinOneToThreePayloadFullShared")

0 commit comments

Comments
 (0)