@@ -39,9 +39,9 @@ public async Task CanQueryByDateTimeNowAsync()
39
39
{
40
40
using ( var spy = new SqlLogSpy ( ) )
41
41
{
42
- var x = await ( db . Orders . Where ( o => o . OrderDate . Value < DateTime . Now ) . ToListAsync ( ) ) ;
42
+ var x = await ( db . Orders . CountAsync ( o => o . OrderDate . Value < DateTime . Now ) ) ;
43
43
44
- Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
44
+ Assert . That ( x , Is . GreaterThan ( 0 ) ) ;
45
45
AssertFunctionInSql ( "current_timestamp" , spy ) ;
46
46
}
47
47
}
@@ -51,7 +51,10 @@ public async Task CanSelectDateTimeNowAsync()
51
51
{
52
52
using ( var spy = new SqlLogSpy ( ) )
53
53
{
54
- var x = await ( db . Orders . Select ( o => new { id = o . OrderId , d = DateTime . Now } ) . ToListAsync ( ) ) ;
54
+ var x =
55
+ await ( db
56
+ . Orders . Select ( o => new { id = o . OrderId , d = DateTime . Now } )
57
+ . OrderBy ( o => o . id ) . Take ( 1 ) . ToListAsync ( ) ) ;
55
58
56
59
Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
57
60
AssertFunctionInSql ( "current_timestamp" , spy ) ;
@@ -63,9 +66,9 @@ public async Task CanQueryByDateTimeUtcNowAsync()
63
66
{
64
67
using ( var spy = new SqlLogSpy ( ) )
65
68
{
66
- var x = await ( db . Orders . Where ( o => o . OrderDate . Value < DateTime . UtcNow ) . ToListAsync ( ) ) ;
69
+ var x = await ( db . Orders . CountAsync ( o => o . OrderDate . Value < DateTime . UtcNow ) ) ;
67
70
68
- Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
71
+ Assert . That ( x , Is . GreaterThan ( 0 ) ) ;
69
72
AssertFunctionInSql ( "current_utctimestamp" , spy ) ;
70
73
}
71
74
}
@@ -75,7 +78,10 @@ public async Task CanSelectDateTimeUtcNowAsync()
75
78
{
76
79
using ( var spy = new SqlLogSpy ( ) )
77
80
{
78
- var x = await ( db . Orders . Select ( o => new { id = o . OrderId , d = DateTime . UtcNow } ) . ToListAsync ( ) ) ;
81
+ var x =
82
+ await ( db
83
+ . Orders . Select ( o => new { id = o . OrderId , d = DateTime . UtcNow } )
84
+ . OrderBy ( o => o . id ) . Take ( 1 ) . ToListAsync ( ) ) ;
79
85
80
86
Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
81
87
AssertFunctionInSql ( "current_utctimestamp" , spy ) ;
@@ -87,9 +93,9 @@ public async Task CanQueryByDateTimeTodayAsync()
87
93
{
88
94
using ( var spy = new SqlLogSpy ( ) )
89
95
{
90
- var x = await ( db . Orders . Where ( o => o . OrderDate . Value < DateTime . Today ) . ToListAsync ( ) ) ;
96
+ var x = await ( db . Orders . CountAsync ( o => o . OrderDate . Value < DateTime . Today ) ) ;
91
97
92
- Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
98
+ Assert . That ( x , Is . GreaterThan ( 0 ) ) ;
93
99
AssertFunctionInSql ( "current_date" , spy ) ;
94
100
}
95
101
}
@@ -99,7 +105,10 @@ public async Task CanSelectDateTimeTodayAsync()
99
105
{
100
106
using ( var spy = new SqlLogSpy ( ) )
101
107
{
102
- var x = await ( db . Orders . Select ( o => new { id = o . OrderId , d = DateTime . Today } ) . ToListAsync ( ) ) ;
108
+ var x =
109
+ await ( db
110
+ . Orders . Select ( o => new { id = o . OrderId , d = DateTime . Today } )
111
+ . OrderBy ( o => o . id ) . Take ( 1 ) . ToListAsync ( ) ) ;
103
112
104
113
Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
105
114
AssertFunctionInSql ( "current_date" , spy ) ;
@@ -115,9 +124,9 @@ public async Task CanQueryByDateTimeOffsetTimeNowAsync()
115
124
using ( var spy = new SqlLogSpy ( ) )
116
125
{
117
126
var testDate = DateTimeOffset . Now . AddDays ( - 1 ) ;
118
- var x = await ( db . Orders . Where ( o => testDate < DateTimeOffset . Now ) . ToListAsync ( ) ) ;
127
+ var x = await ( db . Orders . CountAsync ( o => testDate < DateTimeOffset . Now ) ) ;
119
128
120
- Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
129
+ Assert . That ( x , Is . GreaterThan ( 0 ) ) ;
121
130
AssertFunctionInSql ( "current_timestamp_offset" , spy ) ;
122
131
}
123
132
}
@@ -130,7 +139,10 @@ public async Task CanSelectDateTimeOffsetNowAsync()
130
139
131
140
using ( var spy = new SqlLogSpy ( ) )
132
141
{
133
- var x = await ( db . Orders . Select ( o => new { id = o . OrderId , d = DateTimeOffset . Now } ) . ToListAsync ( ) ) ;
142
+ var x =
143
+ await ( db
144
+ . Orders . Select ( o => new { id = o . OrderId , d = DateTimeOffset . Now } )
145
+ . OrderBy ( o => o . id ) . Take ( 1 ) . ToListAsync ( ) ) ;
134
146
135
147
Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
136
148
AssertFunctionInSql ( "current_timestamp_offset" , spy ) ;
@@ -146,9 +158,9 @@ public async Task CanQueryByDateTimeOffsetUtcNowAsync()
146
158
using ( var spy = new SqlLogSpy ( ) )
147
159
{
148
160
var testDate = DateTimeOffset . UtcNow . AddDays ( - 1 ) ;
149
- var x = await ( db . Orders . Where ( o => testDate < DateTimeOffset . UtcNow ) . ToListAsync ( ) ) ;
161
+ var x = await ( db . Orders . CountAsync ( o => testDate < DateTimeOffset . UtcNow ) ) ;
150
162
151
- Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
163
+ Assert . That ( x , Is . GreaterThan ( 0 ) ) ;
152
164
AssertFunctionInSql ( "current_utctimestamp_offset" , spy ) ;
153
165
}
154
166
}
@@ -161,13 +173,50 @@ public async Task CanSelectDateTimeOffsetUtcNowAsync()
161
173
162
174
using ( var spy = new SqlLogSpy ( ) )
163
175
{
164
- var x = await ( db . Orders . Select ( o => new { id = o . OrderId , d = DateTimeOffset . UtcNow } ) . ToListAsync ( ) ) ;
176
+ var x =
177
+ await ( db
178
+ . Orders . Select ( o => new { id = o . OrderId , d = DateTimeOffset . UtcNow } )
179
+ . OrderBy ( o => o . id ) . Take ( 1 ) . ToListAsync ( ) ) ;
165
180
166
181
Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
167
182
AssertFunctionInSql ( "current_utctimestamp_offset" , spy ) ;
168
183
}
169
184
}
170
185
186
+ [ Test ]
187
+ public async Task CanQueryByNewGuidAsync ( )
188
+ {
189
+ if ( ! TestDialect . SupportsSqlType ( SqlTypeFactory . Guid ) )
190
+ Assert . Ignore ( "Guid are not supported by the target database" ) ;
191
+
192
+ using ( var spy = new SqlLogSpy ( ) )
193
+ {
194
+ var guid = Guid . NewGuid ( ) ;
195
+ var x = await ( db . Orders . CountAsync ( o => guid != Guid . NewGuid ( ) ) ) ;
196
+
197
+ Assert . That ( x , Is . GreaterThan ( 0 ) ) ;
198
+ AssertFunctionInSql ( "new_uuid" , spy ) ;
199
+ }
200
+ }
201
+
202
+ [ Test ]
203
+ public async Task CanSelectNewGuidAsync ( )
204
+ {
205
+ if ( ! TestDialect . SupportsSqlType ( SqlTypeFactory . Guid ) )
206
+ Assert . Ignore ( "Guid are not supported by the target database" ) ;
207
+
208
+ using ( var spy = new SqlLogSpy ( ) )
209
+ {
210
+ var x =
211
+ await ( db
212
+ . Orders . Select ( o => new { id = o . OrderId , g = Guid . NewGuid ( ) } )
213
+ . OrderBy ( o => o . id ) . Take ( 1 ) . ToListAsync ( ) ) ;
214
+
215
+ Assert . That ( x , Has . Count . GreaterThan ( 0 ) ) ;
216
+ AssertFunctionInSql ( "new_uuid" , spy ) ;
217
+ }
218
+ }
219
+
171
220
private void AssertFunctionInSql ( string functionName , SqlLogSpy spy )
172
221
{
173
222
if ( ! IsFunctionSupported ( functionName ) )
0 commit comments