@@ -25,8 +25,10 @@ protected override void OnSetUp()
25
25
{
26
26
var doc = new Document { Id_Base = 1 , Id_Doc = 2 } ;
27
27
session . Save ( doc ) ;
28
- session . Save ( new DocumentDetailDocument { Id_Base = 1 , Id_Doc = 2 , Id_Item = 1 , ReferencedDocument = doc } ) ;
28
+ var detail = new DocumentDetailDocument { Id_Base = 1 , Id_Doc = 2 , Id_Item = 1 , ReferencedDocument = doc } ;
29
+ session . Save ( detail ) ;
29
30
31
+ doc . RefferedDetailsManyToMany . Add ( detail ) ;
30
32
transaction . Commit ( ) ;
31
33
}
32
34
}
@@ -53,6 +55,18 @@ public async Task LinqFetchAsync()
53
55
}
54
56
}
55
57
58
+ [ Test ( Description = "GH-3239" ) ]
59
+ public async Task LinqFetchManyToManyAsync ( )
60
+ {
61
+ using ( var session = OpenSession ( ) )
62
+ {
63
+ var result = await ( ( from e in session . Query < Document > ( ) . Fetch ( x => x . RefferedDetailsManyToMany )
64
+ select e ) . FirstOrDefaultAsync ( ) ) ;
65
+
66
+ Assert . That ( result . RefferedDetailsManyToMany , Has . Count . EqualTo ( 1 ) ) ;
67
+ }
68
+ }
69
+
56
70
[ Test ]
57
71
public async Task QueryOverFetchAsync ( )
58
72
{
@@ -63,6 +77,16 @@ public async Task QueryOverFetchAsync()
63
77
}
64
78
}
65
79
80
+ [ Test ( Description = "GH-3239" ) ]
81
+ public async Task QueryOverFetchManyToManyAsync ( )
82
+ {
83
+ using ( var session = OpenSession ( ) )
84
+ {
85
+ var result = await ( session . QueryOver < Document > ( ) . Fetch ( SelectMode . Fetch , x => x . RefferedDetailsManyToMany ) . SingleOrDefaultAsync ( ) ) ;
86
+ Assert . That ( result . RefferedDetailsManyToMany , Has . Count . EqualTo ( 1 ) ) ;
87
+ }
88
+ }
89
+
66
90
[ Test ]
67
91
public async Task LazyLoadAsync ( )
68
92
{
0 commit comments