@@ -399,22 +399,39 @@ public async Task QueryOverOrderByAndWhereWithIdProjectionDoesntThrowAsync()
399
399
public async Task QueryOverInClauseAsync ( )
400
400
{
401
401
// insert the new objects
402
+ var id1 = id ;
403
+ var id2 = secondId ;
404
+ var id3 = new Id ( id1 . KeyString , id1 . GetKeyShort ( ) , id2 . KeyDateTime ) ;
405
+
402
406
using ( ISession s = OpenSession ( ) )
403
407
using ( ITransaction t = s . BeginTransaction ( ) )
404
408
{
405
- await ( s . SaveAsync ( new ClassWithCompositeId ( id ) { OneProperty = 5 } ) ) ;
406
- await ( s . SaveAsync ( new ClassWithCompositeId ( secondId ) { OneProperty = 10 } ) ) ;
407
- await ( s . SaveAsync ( new ClassWithCompositeId ( new Id ( id . KeyString , id . GetKeyShort ( ) , secondId . KeyDateTime ) ) ) ) ;
409
+ await ( s . SaveAsync ( new ClassWithCompositeId ( id1 ) { OneProperty = 5 } ) ) ;
410
+ await ( s . SaveAsync ( new ClassWithCompositeId ( id2 ) { OneProperty = 10 } ) ) ;
411
+ await ( s . SaveAsync ( new ClassWithCompositeId ( id3 ) ) ) ;
408
412
409
413
await ( t . CommitAsync ( ) ) ;
410
414
}
411
415
412
416
using ( var s = OpenSession ( ) )
413
417
{
414
- var results1 = await ( s . QueryOver < ClassWithCompositeId > ( ) . WhereRestrictionOn ( p => p . Id ) . IsIn ( new [ ] { id , secondId } ) . ListAsync ( ) ) ;
415
- var results2 = await ( s . QueryOver < ClassWithCompositeId > ( ) . WhereRestrictionOn ( p => p . Id ) . IsIn ( new [ ] { id } ) . ListAsync ( ) ) ;
416
- Assert . That ( results1 . Count , Is . EqualTo ( 2 ) ) ;
417
- Assert . That ( results2 . Count , Is . EqualTo ( 1 ) ) ;
418
+ var results1 = await ( s . QueryOver < ClassWithCompositeId > ( ) . WhereRestrictionOn ( p => p . Id ) . IsIn ( new [ ] { id1 , id2 } ) . ListAsync ( ) ) ;
419
+ var results2 = await ( s . QueryOver < ClassWithCompositeId > ( ) . WhereRestrictionOn ( p => p . Id ) . IsIn ( new [ ] { id1 } ) . ListAsync ( ) ) ;
420
+ var results3 = await ( s . QueryOver < ClassWithCompositeId > ( ) . WhereRestrictionOn ( p => p . Id ) . Not . IsIn ( new [ ] { id1 , id2 } ) . ListAsync ( ) ) ;
421
+ var results4 = await ( s . QueryOver < ClassWithCompositeId > ( ) . WhereRestrictionOn ( p => p . Id ) . Not . IsIn ( new [ ] { id1 } ) . ListAsync ( ) ) ;
422
+
423
+ Assert . Multiple (
424
+ ( ) =>
425
+ {
426
+ Assert . That ( results1 . Count , Is . EqualTo ( 2 ) , "in multiple ids" ) ;
427
+ Assert . That ( results1 . Select ( r => r . Id ) , Is . EquivalentTo ( new [ ] { id1 , id2 } ) , "in multiple ids" ) ;
428
+ Assert . That ( results2 . Count , Is . EqualTo ( 1 ) , "in single id" ) ;
429
+ Assert . That ( results2 . Select ( r => r . Id ) , Is . EquivalentTo ( new [ ] { id1 } ) , "in single id" ) ;
430
+ Assert . That ( results3 . Count , Is . EqualTo ( 1 ) , "not in multiple ids" ) ;
431
+ Assert . That ( results3 . Select ( r => r . Id ) , Is . EquivalentTo ( new [ ] { id3 } ) , "not in multiple ids" ) ;
432
+ Assert . That ( results4 . Count , Is . EqualTo ( 2 ) , "not in single id" ) ;
433
+ Assert . That ( results4 . Select ( r => r . Id ) , Is . EquivalentTo ( new [ ] { id2 , id3 } ) , "not in single id" ) ;
434
+ } ) ;
418
435
}
419
436
}
420
437
}
0 commit comments