@@ -11,7 +11,10 @@ public static partial class SpecificationBuilderExtensions
1111 /// <returns>The updated specification builder.</returns>
1212 public static ISpecificationBuilder < T , TResult > IgnoreQueryFilters < T , TResult > (
1313 this ISpecificationBuilder < T , TResult > builder ) where T : class
14- => IgnoreQueryFilters ( builder , true ) ;
14+ {
15+ IgnoreQueryFilters ( ( ISpecificationBuilder < T > ) builder , true ) ;
16+ return builder ;
17+ }
1518
1619 /// <summary>
1720 /// Configures the specification to ignore query filters if the condition is true.
@@ -25,11 +28,7 @@ public static ISpecificationBuilder<T, TResult> IgnoreQueryFilters<T, TResult>(
2528 this ISpecificationBuilder < T , TResult > builder ,
2629 bool condition ) where T : class
2730 {
28- if ( condition )
29- {
30- builder . Specification . IgnoreQueryFilters = true ;
31- }
32-
31+ IgnoreQueryFilters ( ( ISpecificationBuilder < T > ) builder , condition ) ;
3332 return builder ;
3433 }
3534
@@ -71,7 +70,10 @@ public static ISpecificationBuilder<T> IgnoreQueryFilters<T>(
7170 /// <returns>The updated specification builder.</returns>
7271 public static ISpecificationBuilder < T , TResult > IgnoreAutoIncludes < T , TResult > (
7372 this ISpecificationBuilder < T , TResult > builder ) where T : class
74- => IgnoreAutoIncludes ( builder , true ) ;
73+ {
74+ IgnoreAutoIncludes ( ( ISpecificationBuilder < T > ) builder , true ) ;
75+ return builder ;
76+ }
7577
7678 /// <summary>
7779 /// Configures the specification to ignore auto includes if the condition is true.
@@ -85,11 +87,7 @@ public static ISpecificationBuilder<T, TResult> IgnoreAutoIncludes<T, TResult>(
8587 this ISpecificationBuilder < T , TResult > builder ,
8688 bool condition ) where T : class
8789 {
88- if ( condition )
89- {
90- builder . Specification . IgnoreAutoIncludes = true ;
91- }
92-
90+ IgnoreAutoIncludes ( ( ISpecificationBuilder < T > ) builder , condition ) ;
9391 return builder ;
9492 }
9593
@@ -131,7 +129,10 @@ public static ISpecificationBuilder<T> IgnoreAutoIncludes<T>(
131129 /// <returns>The updated specification builder.</returns>
132130 public static ISpecificationBuilder < T , TResult > AsSplitQuery < T , TResult > (
133131 this ISpecificationBuilder < T , TResult > builder ) where T : class
134- => AsSplitQuery ( builder , true ) ;
132+ {
133+ AsSplitQuery ( ( ISpecificationBuilder < T > ) builder , true ) ;
134+ return builder ;
135+ }
135136
136137 /// <summary>
137138 /// Configures the specification to use split queries if the condition is true.
@@ -145,11 +146,7 @@ public static ISpecificationBuilder<T, TResult> AsSplitQuery<T, TResult>(
145146 this ISpecificationBuilder < T , TResult > builder ,
146147 bool condition ) where T : class
147148 {
148- if ( condition )
149- {
150- builder . Specification . AsSplitQuery = true ;
151- }
152-
149+ AsSplitQuery ( ( ISpecificationBuilder < T > ) builder , condition ) ;
153150 return builder ;
154151 }
155152
@@ -192,7 +189,10 @@ public static ISpecificationBuilder<T> AsSplitQuery<T>(
192189 /// <returns>The updated specification builder.</returns>
193190 public static ISpecificationBuilder < T , TResult > AsNoTracking < T , TResult > (
194191 this ISpecificationBuilder < T , TResult > builder ) where T : class
195- => AsNoTracking ( builder , true ) ;
192+ {
193+ AsNoTracking ( ( ISpecificationBuilder < T > ) builder , true ) ;
194+ return builder ;
195+ }
196196
197197 /// <summary>
198198 /// Configures the specification to apply NoTracking behavior if the condition is true.
@@ -207,13 +207,7 @@ public static ISpecificationBuilder<T, TResult> AsNoTracking<T, TResult>(
207207 this ISpecificationBuilder < T , TResult > builder ,
208208 bool condition ) where T : class
209209 {
210- if ( condition )
211- {
212- builder . Specification . AsTracking = false ;
213- builder . Specification . AsNoTrackingWithIdentityResolution = false ;
214- builder . Specification . AsNoTracking = true ;
215- }
216-
210+ AsNoTracking ( ( ISpecificationBuilder < T > ) builder , condition ) ;
217211 return builder ;
218212 }
219213
@@ -260,7 +254,10 @@ public static ISpecificationBuilder<T> AsNoTracking<T>(
260254 /// <returns>The updated specification builder.</returns>
261255 public static ISpecificationBuilder < T , TResult > AsNoTrackingWithIdentityResolution < T , TResult > (
262256 this ISpecificationBuilder < T , TResult > builder ) where T : class
263- => AsNoTrackingWithIdentityResolution ( builder , true ) ;
257+ {
258+ AsNoTrackingWithIdentityResolution ( ( ISpecificationBuilder < T > ) builder , true ) ;
259+ return builder ;
260+ }
264261
265262 /// <summary>
266263 /// Configures the specification to apply AsNoTrackingWithIdentityResolution behavior if the condition is true.
@@ -275,13 +272,7 @@ public static ISpecificationBuilder<T, TResult> AsNoTrackingWithIdentityResoluti
275272 this ISpecificationBuilder < T , TResult > builder ,
276273 bool condition ) where T : class
277274 {
278- if ( condition )
279- {
280- builder . Specification . AsTracking = false ;
281- builder . Specification . AsNoTracking = false ;
282- builder . Specification . AsNoTrackingWithIdentityResolution = true ;
283- }
284-
275+ AsNoTrackingWithIdentityResolution ( ( ISpecificationBuilder < T > ) builder , condition ) ;
285276 return builder ;
286277 }
287278
@@ -328,7 +319,10 @@ public static ISpecificationBuilder<T> AsNoTrackingWithIdentityResolution<T>(
328319 /// <returns>The updated specification builder.</returns>
329320 public static ISpecificationBuilder < T , TResult > AsTracking < T , TResult > (
330321 this ISpecificationBuilder < T , TResult > builder ) where T : class
331- => AsTracking ( builder , true ) ;
322+ {
323+ AsTracking ( ( ISpecificationBuilder < T > ) builder , true ) ;
324+ return builder ;
325+ }
332326
333327 /// <summary>
334328 /// Configures the specification to apply AsTracking behavior if the condition is true.
@@ -343,13 +337,7 @@ public static ISpecificationBuilder<T, TResult> AsTracking<T, TResult>(
343337 this ISpecificationBuilder < T , TResult > builder ,
344338 bool condition ) where T : class
345339 {
346- if ( condition )
347- {
348- builder . Specification . AsNoTracking = false ;
349- builder . Specification . AsNoTrackingWithIdentityResolution = false ;
350- builder . Specification . AsTracking = true ;
351- }
352-
340+ AsTracking ( ( ISpecificationBuilder < T > ) builder , condition ) ;
353341 return builder ;
354342 }
355343
0 commit comments