1
+ using System . Linq ;
2
+ using NHibernate . Engine ;
1
3
using NHibernate . Linq . Visitors ;
2
4
using Remotion . Linq ;
3
5
using Remotion . Linq . Clauses ;
@@ -12,12 +14,12 @@ internal interface IIsEntityDecider
12
14
13
15
public class AddJoinsReWriter : QueryModelVisitorBase , IIsEntityDecider
14
16
{
15
- private readonly ISessionFactory _sessionFactory ;
17
+ private readonly ISessionFactoryImplementor _sessionFactory ;
16
18
private readonly SelectJoinDetector _selectJoinDetector ;
17
19
private readonly ResultOperatorAndOrderByJoinDetector _resultOperatorAndOrderByJoinDetector ;
18
20
private readonly WhereJoinDetector _whereJoinDetector ;
19
21
20
- private AddJoinsReWriter ( ISessionFactory sessionFactory , QueryModel queryModel )
22
+ private AddJoinsReWriter ( ISessionFactoryImplementor sessionFactory , QueryModel queryModel )
21
23
{
22
24
_sessionFactory = sessionFactory ;
23
25
var joiner = new Joiner ( queryModel ) ;
@@ -26,7 +28,7 @@ private AddJoinsReWriter(ISessionFactory sessionFactory, QueryModel queryModel)
26
28
_whereJoinDetector = new WhereJoinDetector ( this , joiner ) ;
27
29
}
28
30
29
- public static void ReWrite ( QueryModel queryModel , ISessionFactory sessionFactory )
31
+ public static void ReWrite ( QueryModel queryModel , ISessionFactoryImplementor sessionFactory )
30
32
{
31
33
new AddJoinsReWriter ( sessionFactory , queryModel ) . VisitQueryModel ( queryModel ) ;
32
34
}
@@ -53,7 +55,7 @@ public override void VisitWhereClause(WhereClause whereClause, QueryModel queryM
53
55
54
56
public bool IsEntity ( System . Type type )
55
57
{
56
- return _sessionFactory . GetClassMetadata ( type ) != null ;
58
+ return _sessionFactory . GetImplementors ( type . FullName ) . Any ( ) ;
57
59
}
58
60
59
61
public bool IsIdentifier ( System . Type type , string propertyName )
0 commit comments