@@ -84,6 +84,51 @@ public void EqualStringEnumTest()
84
84
) ;
85
85
}
86
86
87
+ [ Test ]
88
+ public void EqualStringEnumTestWithFetch ( )
89
+ {
90
+ AssertResults (
91
+ new Dictionary < string , Predicate < IType > >
92
+ {
93
+ { "3" , o => o is EnumStoredAsStringType }
94
+ } ,
95
+ db . Users . Fetch ( o => o . Role ) . ThenFetch ( o => o . ParentRole ) . Where ( o => o . Enum1 == EnumStoredAsString . Large ) ,
96
+ db . Users . Fetch ( o => o . Role ) . ThenFetch ( o => o . ParentRole ) . Where ( o => EnumStoredAsString . Large == o . Enum1 ) ,
97
+ db . Timesheets . SelectMany ( o => o . Users ) . Fetch ( o => o . Role ) . Where ( o => EnumStoredAsString . Large == o . Enum1 ) ,
98
+ db . Timesheets . FetchMany ( o => o . Users ) . SelectMany ( o => o . Users ) . Where ( o => EnumStoredAsString . Large == o . Enum1 ) ,
99
+ db . Timesheets . FetchMany ( o => o . Users ) . Where ( o => o . Users . Any ( u => EnumStoredAsString . Large == u . Enum1 ) )
100
+ ) ;
101
+ }
102
+
103
+ [ Test ]
104
+ public void EqualStringEnumTestWithSubQuery ( )
105
+ {
106
+ AssertResults (
107
+ new Dictionary < string , Predicate < IType > >
108
+ {
109
+ { "3" , o => o is EnumStoredAsStringType }
110
+ } ,
111
+ db . Users . Where ( o => db . Users . Any ( u => u . Enum1 == EnumStoredAsString . Large ) ) ,
112
+ db . Users . Where ( o => db . Users . Any ( u => EnumStoredAsString . Large == u . Enum1 ) ) ,
113
+ db . Timesheets . Where ( o => o . Users . Any ( u => EnumStoredAsString . Large == u . Enum1 ) )
114
+ ) ;
115
+ }
116
+
117
+ [ Test ]
118
+ public void EqualStringEnumTestWithMaxSubQuery ( )
119
+ {
120
+ AssertResults (
121
+ new Dictionary < string , Predicate < IType > >
122
+ {
123
+ { "3" , o => o is EnumStoredAsStringType }
124
+ } ,
125
+ db . Users . Fetch ( o => o . Role ) . Where ( o => db . Users . Max ( u => u . Enum1 == EnumStoredAsString . Large ? u . Id : - u . Id ) == o . Id ) ,
126
+ db . Users . Fetch ( o => o . Role ) . Where ( o => db . Users . Max ( u => EnumStoredAsString . Large == u . Enum1 ? u . Id : - u . Id ) == o . Id ) ,
127
+ db . Users . Where ( o => db . Users . Max ( u => u . Enum1 == EnumStoredAsString . Large ? u . Id : - u . Id ) == o . Id ) ,
128
+ db . Users . Where ( o => db . Users . Max ( u => EnumStoredAsString . Large == u . Enum1 ? u . Id : - u . Id ) == o . Id )
129
+ ) ;
130
+ }
131
+
87
132
[ Test ]
88
133
public void EqualStringTest ( )
89
134
{
0 commit comments