1
1
using System . Linq ;
2
2
using NHibernate . Linq ;
3
+ using NHibernate . Transform ;
3
4
using NUnit . Framework ;
4
5
5
6
namespace NHibernate . Test . NHSpecificTest . GH1994
@@ -13,8 +14,8 @@ protected override void OnSetUp()
13
14
using ( var transaction = session . BeginTransaction ( ) )
14
15
{
15
16
var a = new Asset ( ) ;
16
- var d = new Document { IsDeleted = true } ;
17
- a . Documents . Add ( d ) ;
17
+ a . Documents . Add ( new Document { IsDeleted = true } ) ;
18
+ a . Documents . Add ( new Document { IsDeleted = false } ) ;
18
19
19
20
session . Save ( a ) ;
20
21
transaction . Commit ( ) ;
@@ -43,12 +44,12 @@ public void TestUnfilteredLinqQuery()
43
44
{
44
45
using ( var s = OpenSession ( ) )
45
46
{
46
- var assetsUnfiltered = s . Query < Asset > ( )
47
- . FetchMany ( x => x . Documents )
48
- . ToList ( ) ;
47
+ var query = s . Query < Asset > ( )
48
+ . FetchMany ( x => x . Documents )
49
+ . ToList ( ) ;
49
50
50
- Assert . That ( assetsUnfiltered . Count , Is . EqualTo ( 1 ) , "unfiltered assets" ) ;
51
- Assert . That ( assetsUnfiltered [ 0 ] . Documents . Count , Is . EqualTo ( 1 ) , "unfiltered asset documents" ) ;
51
+ Assert . That ( query . Count , Is . EqualTo ( 1 ) , "unfiltered assets" ) ;
52
+ Assert . That ( query [ 0 ] . Documents . Count , Is . EqualTo ( 2 ) , "unfiltered asset documents" ) ;
52
53
}
53
54
}
54
55
@@ -58,13 +59,12 @@ public void TestFilteredLinqQuery()
58
59
using ( var s = OpenSession ( ) )
59
60
{
60
61
s . EnableFilter ( "deletedFilter" ) . SetParameter ( "deletedParam" , false ) ;
62
+ var query = s . Query < Asset > ( )
63
+ . FetchMany ( x => x . Documents )
64
+ . ToList ( ) ;
61
65
62
- var assetsFilteredQuery = s . Query < Asset > ( )
63
- . FetchMany ( x => x . Documents )
64
- . ToList ( ) ;
65
-
66
- Assert . That ( assetsFilteredQuery . Count , Is . EqualTo ( 1 ) , "query filtered assets" ) ;
67
- Assert . That ( assetsFilteredQuery [ 0 ] . Documents . Count , Is . EqualTo ( 0 ) , "query filtered asset documents" ) ;
66
+ Assert . That ( query . Count , Is . EqualTo ( 1 ) , "filtered assets" ) ;
67
+ Assert . That ( query [ 0 ] . Documents . Count , Is . EqualTo ( 1 ) , "filtered asset documents" ) ;
68
68
}
69
69
}
70
70
@@ -75,12 +75,13 @@ public void TestFilteredQueryOver()
75
75
{
76
76
s . EnableFilter ( "deletedFilter" ) . SetParameter ( "deletedParam" , false ) ;
77
77
78
- var assetsFilteredQueryOver = s . QueryOver < Asset > ( )
79
- . Fetch ( SelectMode . Fetch , x => x . Documents )
80
- . List < Asset > ( ) ;
78
+ var query = s . QueryOver < Asset > ( )
79
+ . Fetch ( SelectMode . Fetch , x => x . Documents )
80
+ . TransformUsing ( Transformers . DistinctRootEntity )
81
+ . List < Asset > ( ) ;
81
82
82
- Assert . That ( assetsFilteredQueryOver . Count , Is . EqualTo ( 1 ) , " query over filtered assets" ) ;
83
- Assert . That ( assetsFilteredQueryOver [ 0 ] . Documents . Count , Is . EqualTo ( 0 ) , "query over filtered asset documents" ) ;
83
+ Assert . That ( query . Count , Is . EqualTo ( 1 ) , "filtered assets" ) ;
84
+ Assert . That ( query [ 0 ] . Documents . Count , Is . EqualTo ( 1 ) , "filtered asset documents" ) ;
84
85
}
85
86
}
86
87
}
0 commit comments