@@ -159,13 +159,14 @@ public void VariousPlacements(TagsLocation tagsLocation)
159159
160160 using ( var domain = Domain . Build ( config ) )
161161 using ( var session = domain . OpenSession ( ) )
162+ using ( var tagScope = session . Tag ( "sessionTag" ) )
162163 using ( var tx = session . OpenTransaction ( ) ) {
163164 var query = session . Query . All < Book > ( ) . Tag ( "simpleTag" ) ;
164165 var queryFormatter = session . Services . Demand < QueryFormatter > ( ) ;
165166 var queryString = queryFormatter . ToSqlString ( query ) ;
166167 Console . WriteLine ( queryString ) ;
167168
168- Assert . IsTrue ( CheckTag ( queryString , $ "/*simpleTag*/", tagsLocation ) ) ;
169+ Assert . IsTrue ( CheckTag ( queryString , "/*simpleTag sessionTag */" , tagsLocation ) ) ;
169170 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
170171 }
171172 }
@@ -175,6 +176,7 @@ public void LatestTagWins()
175176 {
176177 var session = Session . Demand ( ) ;
177178
179+ using ( var tagScope = session . Tag ( "sessionTag" ) )
178180 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
179181 var query = session . Query . All < Book > ( )
180182 . Tag ( "firstTag" )
@@ -185,7 +187,7 @@ public void LatestTagWins()
185187 var queryString = queryFormatter . ToSqlString ( query ) ;
186188 Console . WriteLine ( queryString ) ;
187189
188- Assert . IsTrue ( queryString . StartsWith ( "/*firstTag secondTag*/" ) ) ;
190+ Assert . IsTrue ( queryString . StartsWith ( "/*firstTag secondTag sessionTag */" ) ) ;
189191 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
190192 }
191193 }
@@ -214,6 +216,7 @@ public void TagInSubquery()
214216 {
215217 var session = Session . Demand ( ) ;
216218
219+ using ( var tagScope = session . Tag ( "sessionTag" ) )
217220 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
218221 var query = session . Query . All < Author > ( )
219222 . Tag ( "superCoolTag" )
@@ -223,7 +226,7 @@ public void TagInSubquery()
223226 var queryString = queryFormatter . ToSqlString ( query ) ;
224227 Console . WriteLine ( queryString ) ;
225228
226- Assert . IsTrue ( queryString . StartsWith ( "/*superCoolTag evenCoolerTag*/" ) ) ;
229+ Assert . IsTrue ( queryString . StartsWith ( "/*superCoolTag sessionTag evenCoolerTag*/" ) ) ;
227230 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
228231 }
229232 }
@@ -233,6 +236,7 @@ public void TagInJoin()
233236 {
234237 var session = Session . Demand ( ) ;
235238
239+ using ( var tagScope = session . Tag ( "sessionTag" ) )
236240 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
237241 var inner = session . Query . All < BusinessUnit > ( ) . Tag ( "inner" ) ;
238242 var outer = session . Query . All < Property > ( ) . Tag ( "outer" ) ;
@@ -243,7 +247,7 @@ public void TagInJoin()
243247 var queryString = queryFormatter . ToSqlString ( query ) ;
244248 Console . WriteLine ( queryString ) ;
245249
246- Assert . IsTrue ( queryString . StartsWith ( "/*outer inner*/" ) ) ;
250+ Assert . IsTrue ( queryString . StartsWith ( "/*outer inner sessionTag */" ) ) ;
247251 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
248252 }
249253 }
@@ -253,6 +257,7 @@ public void TagInUnion()
253257 {
254258 var session = Session . Demand ( ) ;
255259
260+ using ( var tagScope = session . Tag ( "sessionTag" ) )
256261 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
257262 var left = session . Query . All < BusinessUnit > ( ) . Tag ( "left" ) ;
258263 var right = session . Query . All < BusinessUnit > ( ) . Tag ( "right" ) ;
@@ -263,7 +268,7 @@ public void TagInUnion()
263268 var queryString = queryFormatter . ToSqlString ( query ) ;
264269 Console . WriteLine ( queryString ) ;
265270
266- Assert . IsTrue ( queryString . StartsWith ( "/*final left right*/" ) ) ;
271+ Assert . IsTrue ( queryString . StartsWith ( "/*final sessionTag left right*/" ) ) ;
267272 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
268273 }
269274 }
@@ -273,6 +278,7 @@ public void TagInConcat()
273278 {
274279 var session = Session . Demand ( ) ;
275280
281+ using ( var tagScope = session . Tag ( "sessionTag" ) )
276282 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
277283 var left = session . Query . All < BusinessUnit > ( ) . Tag ( "left" ) ;
278284 var right = session . Query . All < BusinessUnit > ( ) . Tag ( "right" ) ;
@@ -283,7 +289,7 @@ public void TagInConcat()
283289 var queryString = queryFormatter . ToSqlString ( query ) ;
284290 Console . WriteLine ( queryString ) ;
285291
286- Assert . IsTrue ( queryString . StartsWith ( "/*final left right*/" ) ) ;
292+ Assert . IsTrue ( queryString . StartsWith ( "/*final sessionTag left right*/" ) ) ;
287293 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
288294 }
289295 }
@@ -293,6 +299,7 @@ public void TagInExcept()
293299 {
294300 var session = Session . Demand ( ) ;
295301
302+ using ( var tagScope = session . Tag ( "sessionTag" ) )
296303 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
297304 var left = session . Query . All < BusinessUnit > ( ) . Tag ( "left" ) ;
298305 var right = session . Query . All < BusinessUnit > ( ) . Tag ( "right" ) ;
@@ -303,7 +310,7 @@ public void TagInExcept()
303310 var queryString = queryFormatter . ToSqlString ( query ) ;
304311 Console . WriteLine ( queryString ) ;
305312
306- Assert . IsTrue ( queryString . StartsWith ( "/*final left right*/" ) ) ;
313+ Assert . IsTrue ( queryString . StartsWith ( "/*final sessionTag left right*/" ) ) ;
307314 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
308315 }
309316 }
@@ -313,6 +320,7 @@ public void TagInIntersect()
313320 {
314321 var session = Session . Demand ( ) ;
315322
323+ using ( var tagScope = session . Tag ( "sessionTag" ) )
316324 using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
317325 var left = session . Query . All < BusinessUnit > ( ) . Tag ( "left" ) ;
318326 var right = session . Query . All < BusinessUnit > ( ) . Tag ( "right" ) ;
@@ -323,7 +331,7 @@ public void TagInIntersect()
323331 var queryString = queryFormatter . ToSqlString ( query ) ;
324332 Console . WriteLine ( queryString ) ;
325333
326- Assert . IsTrue ( queryString . StartsWith ( "/*final left right*/" ) ) ;
334+ Assert . IsTrue ( queryString . StartsWith ( "/*final sessionTag left right*/" ) ) ;
327335 Assert . DoesNotThrow ( ( ) => query . Run ( ) ) ;
328336 }
329337 }
@@ -358,9 +366,6 @@ where realSession.Query.All<BusinessUnit>().Tag("BU0003")
358366 [ Test ]
359367 public void TagInGrouping ( )
360368 {
361- // no checks so far, something will change probably
362- // for now it is just to see who it goes.
363-
364369 var session = Session . Demand ( ) ;
365370 var allCommands = new List < string > ( ) ;
366371
@@ -385,16 +390,18 @@ public void TagInGrouping()
385390 . GroupBy ( b => b . Active )
386391 . Select ( g => new { g . Key , Items = g } ) ;
387392
388- session . Events . DbCommandExecuting += SqlCapturer ;
389- foreach ( var group in query )
390- foreach ( var groupItem in group . Items )
391- ;
392- session . Events . DbCommandExecuting -= SqlCapturer ;
393+ using ( var tagScope = session . Tag ( "sessionTag1" ) ) {
394+ session . Events . DbCommandExecuting += SqlCapturer ;
395+ foreach ( var group in query )
396+ foreach ( var groupItem in group . Items )
397+ ;
398+ session . Events . DbCommandExecuting -= SqlCapturer ;
399+ }
393400
394401 PrintList ( allCommands ) ;
395- Assert . That ( allCommands [ 0 ] . StartsWith ( "/*BeforeGroupBy*/" ) ) ;
402+ Assert . That ( allCommands [ 0 ] . StartsWith ( "/*BeforeGroupBy sessionTag1 */" ) ) ;
396403 Assert . That ( allCommands . Skip ( 1 )
397- . All ( command => command . StartsWith ( "/*BeforeGroupBy Root query tags -> BeforeGroupBy*/" ) ) ) ;
404+ . All ( command => command . StartsWith ( "/*BeforeGroupBy ( Root query tags -> BeforeGroupBy sessionTag1) */" ) ) ) ;
398405
399406 allCommands . Clear ( ) ;
400407
@@ -403,16 +410,18 @@ public void TagInGrouping()
403410 . Tag ( "AfterGroupBy" )
404411 . Select ( g => new { g . Key , Items = g } ) ;
405412
406- session . Events . DbCommandExecuting += SqlCapturer ;
407- foreach ( var group in query )
408- foreach ( var groupItem in group . Items )
409- ;
410- session . Events . DbCommandExecuting -= SqlCapturer ;
413+ using ( var tagScope = session . Tag ( "sessionTag2" ) ) {
414+ session . Events . DbCommandExecuting += SqlCapturer ;
415+ foreach ( var group in query )
416+ foreach ( var groupItem in group . Items )
417+ ;
418+ session . Events . DbCommandExecuting -= SqlCapturer ;
419+ }
411420
412421 PrintList ( allCommands ) ;
413- Assert . That ( allCommands [ 0 ] . StartsWith ( "/*AfterGroupBy*/" ) ) ;
422+ Assert . That ( allCommands [ 0 ] . StartsWith ( "/*AfterGroupBy sessionTag2 */" ) ) ;
414423 Assert . That ( allCommands . Skip ( 1 )
415- . All ( command => command . StartsWith ( "/*Root query tags -> AfterGroupBy*/" ) ) ) ;
424+ . All ( command => command . StartsWith ( "/*( Root query tags -> AfterGroupBy sessionTag2) */" ) ) ) ;
416425
417426 allCommands . Clear ( ) ;
418427
@@ -421,16 +430,18 @@ public void TagInGrouping()
421430 . Tag ( "AfterGrouping" )
422431 . Select ( g => new { g . Key , Items = g } ) ;
423432
424- session . Events . DbCommandExecuting += SqlCapturer ;
425- foreach ( var group in query )
426- foreach ( var groupItem in group . Items )
427- ;
428- session . Events . DbCommandExecuting -= SqlCapturer ;
433+ using ( var sessionTag = session . Tag ( "sessionTag3" ) ) {
434+ session . Events . DbCommandExecuting += SqlCapturer ;
435+ foreach ( var group in query )
436+ foreach ( var groupItem in group . Items )
437+ ;
438+ session . Events . DbCommandExecuting -= SqlCapturer ;
439+ }
429440
430441 PrintList ( allCommands ) ;
431- Assert . That ( allCommands [ 0 ] . StartsWith ( "/*BeforeGrouping AfterGrouping*/" ) ) ;
442+ Assert . That ( allCommands [ 0 ] . StartsWith ( "/*BeforeGrouping AfterGrouping sessionTag3 */" ) ) ;
432443 Assert . That ( allCommands . Skip ( 1 )
433- . All ( command => command . StartsWith ( "/*BeforeGrouping Root query tags -> BeforeGrouping AfterGrouping*/" ) ) ) ;
444+ . All ( command => command . StartsWith ( "/*BeforeGrouping ( Root query tags -> BeforeGrouping AfterGrouping sessionTag3) */" ) ) ) ;
434445
435446 allCommands . Clear ( ) ;
436447
@@ -440,16 +451,18 @@ public void TagInGrouping()
440451 . Select ( g => new { g . Key , Items = g } )
441452 . Tag ( "AtTheEnd" ) ;
442453
443- session . Events . DbCommandExecuting += SqlCapturer ;
444- foreach ( var group in query )
445- foreach ( var groupItem in group . Items )
446- ;
447- session . Events . DbCommandExecuting -= SqlCapturer ;
454+ using ( var sessionTag = session . Tag ( "sessionTag4" ) ) {
455+ session . Events . DbCommandExecuting += SqlCapturer ;
456+ foreach ( var group in query )
457+ foreach ( var groupItem in group . Items )
458+ ;
459+ session . Events . DbCommandExecuting -= SqlCapturer ;
460+ }
448461
449462 PrintList ( allCommands ) ;
450- Assert . That ( allCommands [ 0 ] . StartsWith ( "/*AfterGrouping AtTheEnd*/" ) ) ;
463+ Assert . That ( allCommands [ 0 ] . StartsWith ( "/*AfterGrouping AtTheEnd sessionTag4 */" ) ) ;
451464 Assert . That ( allCommands . Skip ( 1 )
452- . All ( command => command . StartsWith ( "/*Root query tags -> AfterGrouping AtTheEnd*/" ) ) ) ;
465+ . All ( command => command . StartsWith ( "/*( Root query tags -> AfterGrouping AtTheEnd sessionTag4) */" ) ) ) ;
453466
454467 allCommands . Clear ( ) ;
455468
@@ -459,16 +472,18 @@ public void TagInGrouping()
459472 . Select ( g => new { g . Key , Items = g } )
460473 . Tag ( "AtTheEnd" ) ;
461474
462- session . Events . DbCommandExecuting += SqlCapturer ;
463- foreach ( var group in query )
464- foreach ( var groupItem in group . Items )
465- ;
466- session . Events . DbCommandExecuting -= SqlCapturer ;
475+ using ( var tagScope = session . Tag ( "sessionTag5" ) ) {
476+ session . Events . DbCommandExecuting += SqlCapturer ;
477+ foreach ( var group in query )
478+ foreach ( var groupItem in group . Items )
479+ ;
480+ session . Events . DbCommandExecuting -= SqlCapturer ;
481+ }
467482
468483 PrintList ( allCommands ) ;
469- Assert . That ( allCommands [ 0 ] . StartsWith ( "/*BeforeGrouping AfterGrouping AtTheEnd*/" ) ) ;
484+ Assert . That ( allCommands [ 0 ] . StartsWith ( "/*BeforeGrouping AfterGrouping AtTheEnd sessionTag5 */" ) ) ;
470485 Assert . That ( allCommands . Skip ( 1 )
471- . All ( command => command . StartsWith ( "/*BeforeGrouping Root query tags -> BeforeGrouping AfterGrouping AtTheEnd*/" ) ) ) ;
486+ . All ( command => command . StartsWith ( "/*BeforeGrouping ( Root query tags -> BeforeGrouping AfterGrouping AtTheEnd sessionTag5) */" ) ) ) ;
472487
473488 allCommands . Clear ( ) ;
474489
@@ -481,16 +496,18 @@ public void TagInGrouping()
481496 . Tag ( "AfterWhere" )
482497 . LeftJoin ( session . Query . All < BusinessUnit > ( ) . Tag ( "WithinJoin" ) , g => g . Key , bu => bu . Id , ( g , bu ) => new { Key = bu , Items = g . Items } ) ;
483498
484- session . Events . DbCommandExecuting += SqlCapturer ;
485- foreach ( var group in query1 )
486- foreach ( var groupItem in group . Items )
487- ;
488- session . Events . DbCommandExecuting -= SqlCapturer ;
499+ using ( var tagScope = session . Tag ( "sessionTag6" ) ) {
500+ session . Events . DbCommandExecuting += SqlCapturer ;
501+ foreach ( var group in query1 )
502+ foreach ( var groupItem in group . Items )
503+ ;
504+ session . Events . DbCommandExecuting -= SqlCapturer ;
505+ }
489506
490507 PrintList ( allCommands ) ;
491- Assert . That ( allCommands [ 0 ] . StartsWith ( "/*AfterGroup AfterSelect AfterWhere WithinJoin*/" ) ) ;
508+ Assert . That ( allCommands [ 0 ] . StartsWith ( "/*AfterGroup AfterSelect AfterWhere WithinJoin sessionTag6 */" ) ) ;
492509 Assert . That ( allCommands . Skip ( 1 )
493- . All ( command => command . StartsWith ( "/*Root query tags -> AfterGroup AfterSelect AfterWhere WithinJoin*/" ) ) ) ;
510+ . All ( command => command . StartsWith ( "/*( Root query tags -> AfterGroup AfterSelect AfterWhere WithinJoin sessionTag6) */" ) ) ) ;
494511
495512 allCommands . Clear ( ) ;
496513 }
@@ -502,7 +519,7 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
502519 }
503520
504521 [ Test ]
505- public void SessionTagInlineQueryTest ( )
522+ public void SessionTagInlineQuery ( )
506523 {
507524 var session = Session . Demand ( ) ;
508525 var allCommands = new List < string > ( ) ;
@@ -581,7 +598,7 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
581598 }
582599
583600 [ Test ]
584- public void SessionTagCachingQueryTest ( )
601+ public void SessionTagCachingQuery ( )
585602 {
586603 var session = Session . Demand ( ) ;
587604 var allCommands = new List < string > ( ) ;
@@ -639,7 +656,7 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
639656 }
640657
641658 [ Test ]
642- public void SessionTagSingleTest ( )
659+ public void SessionTagSingle ( )
643660 {
644661 var allCommands = new List < string > ( ) ;
645662
@@ -712,7 +729,7 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
712729 }
713730
714731 [ Test ]
715- public void SessionTagSingleOrDefaultTest ( )
732+ public void SessionTagSingleOrDefault ( )
716733 {
717734 var allCommands = new List < string > ( ) ;
718735 var id = 0L ;
@@ -783,7 +800,7 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
783800 }
784801
785802 [ Test ]
786- public void SessionTagPrefetchEntityTest ( )
803+ public void SessionTagPrefetchEntity ( )
787804 {
788805 var allCommands = new List < string > ( ) ;
789806
@@ -860,7 +877,7 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
860877 }
861878
862879 [ Test ]
863- public void SessionTagPrefetchEntitySetTest ( )
880+ public void SessionTagPrefetchEntitySet ( )
864881 {
865882 var allCommands = new List < string > ( ) ;
866883
@@ -932,29 +949,6 @@ void SqlCapturer(object sender, DbCommandEventArgs args)
932949 }
933950 }
934951
935- [ Test ]
936- public void SessionTagInUnion ( )
937- {
938- var allCommands = new List < string > ( ) ;
939-
940- var session = Session . Demand ( ) ;
941- using var outermost = session . Tag ( "outermost" ) ;
942-
943- using ( var innerTx = session . OpenTransaction ( TransactionOpenMode . New ) ) {
944- session . Events . DbCommandExecuting += SqlCapturer ;
945- var left = session . Query . All < BusinessUnit > ( ) ;
946- var right = session . Query . All < BusinessUnit > ( ) ;
947- var result = left . Union ( right ) . ToArray ( ) ;
948- session . Events . DbCommandExecuting -= SqlCapturer ;
949-
950- Assert . That ( allCommands . Count , Is . EqualTo ( 1 ) ) ;
951- Assert . AreEqual ( Regex . Matches ( allCommands [ 0 ] , "outermost" ) . Count , 1 ) ;
952- }
953-
954- void SqlCapturer ( object sender , DbCommandEventArgs args ) =>
955- allCommands . Add ( args . Command . CommandText ) ;
956- }
957-
958952 private static bool CheckTag ( string query , string expectedComment , TagsLocation place )
959953 {
960954 return place switch {
0 commit comments