@@ -32,15 +32,35 @@ public void Does_merge_subselect_params_correctly()
32
32
ids . Where ( x => x . HasA == true && x . HasB == true && x . HasC == true ) ;
33
33
ids . SelectDistinct ( x => x . OrganizationId ) ;
34
34
35
- // select organizations
36
- var expression = OrmLiteConfig . DialectProvider . SqlExpression < Organization > ( ) ;
37
- // that are active
38
- expression . Where ( x => x . IsActive == true ) ;
39
- // and belong to the same group
40
- expression . Where ( x => Sql . In ( x . Id , ids ) ) ;
41
-
42
- Assert . That ( expression . WhereExpression , Is . EqualTo (
35
+ //0 params
36
+ var q = OrmLiteConfig . DialectProvider . SqlExpression < Organization > ( ) ;
37
+ q . Where ( x => Sql . In ( x . Id , ids ) ) ;
38
+ Assert . That ( q . WhereExpression , Is . EqualTo (
39
+ "WHERE \" Id\" IN (SELECT DISTINCT \" OrganizationId\" \n FROM \" OrganizationMembership\" \n WHERE (((\" HasA\" = @0) AND (\" HasB\" = @1)) AND (\" HasC\" = @2)))" ) ) ;
40
+
41
+ //1 param
42
+ q = OrmLiteConfig . DialectProvider . SqlExpression < Organization > ( ) ;
43
+ q . Where ( x => x . IsActive == true ) ;
44
+ q . Where ( x => Sql . In ( x . Id , ids ) ) ;
45
+ Assert . That ( q . WhereExpression , Is . EqualTo (
43
46
"WHERE (\" IsActive\" = @0) AND \" Id\" IN (SELECT DISTINCT \" OrganizationId\" \n FROM \" OrganizationMembership\" \n WHERE (((\" HasA\" = @1) AND (\" HasB\" = @2)) AND (\" HasC\" = @3)))" ) ) ;
47
+
48
+ //2 params
49
+ q = OrmLiteConfig . DialectProvider . SqlExpression < Organization > ( ) ;
50
+ q . Where ( x => x . IsActive == true ) ;
51
+ q . Where ( x => x . IsActive == true ) ;
52
+ q . Where ( x => Sql . In ( x . Id , ids ) ) ;
53
+ Assert . That ( q . WhereExpression , Is . EqualTo (
54
+ "WHERE (\" IsActive\" = @0) AND (\" IsActive\" = @1) AND \" Id\" IN (SELECT DISTINCT \" OrganizationId\" \n FROM \" OrganizationMembership\" \n WHERE (((\" HasA\" = @2) AND (\" HasB\" = @3)) AND (\" HasC\" = @4)))" ) ) ;
55
+
56
+ //3 params
57
+ q = OrmLiteConfig . DialectProvider . SqlExpression < Organization > ( ) ;
58
+ q . Where ( x => x . IsActive == true ) ;
59
+ q . Where ( x => x . IsActive == true ) ;
60
+ q . Where ( x => x . IsActive == true ) ;
61
+ q . Where ( x => Sql . In ( x . Id , ids ) ) ;
62
+ Assert . That ( q . WhereExpression , Is . EqualTo (
63
+ "WHERE (\" IsActive\" = @0) AND (\" IsActive\" = @1) AND (\" IsActive\" = @2) AND \" Id\" IN (SELECT DISTINCT \" OrganizationId\" \n FROM \" OrganizationMembership\" \n WHERE (((\" HasA\" = @3) AND (\" HasB\" = @4)) AND (\" HasC\" = @5)))" ) ) ;
44
64
}
45
65
}
46
66
}
0 commit comments