@@ -172,7 +172,7 @@ public static object CreateInstanceGetDefaultValue(this Type that)
172172 var ctor = that . InternalGetTypeConstructor0OrFirst ( false ) ;
173173 var ctorParms = ctor ? . GetParameters ( ) ;
174174 if ( ctorParms == null || ctorParms . Any ( ) == false ) return Activator . CreateInstance ( that , true ) ;
175- var ctorArgs = ctorParms . Select ( a => a . ParameterType . IsInterface || a . ParameterType . IsAbstract || a . ParameterType == typeof ( string ) || a . ParameterType . IsArray ?
175+ var ctorArgs = ctorParms . Select ( a => a . ParameterType . IsInterface || a . ParameterType . IsAbstract || a . ParameterType == typeof ( string ) || a . ParameterType . IsArray ?
176176 null : Activator . CreateInstance ( a . ParameterType , null ) ) . ToArray ( ) ;
177177 return ctor . Invoke ( ctorArgs ) ;
178178 }
@@ -314,6 +314,130 @@ public static ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
314314 freesql . Select < T1 > ( ) . From < T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > ( ( s , b , c , d , e , f , g , h , i , j , k , l , m , n , o , p ) => s ) ;
315315 #endregion
316316
317+ #region 克隆ISelect
318+ /// <summary>
319+ /// 克隆 ISelect
320+ /// </summary>
321+ public static ISelect < T1 > Clone < T1 > ( this ISelect < T1 > query )
322+ where T1 : class
323+ {
324+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 > ( ) ;
325+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
326+ return newQuery ;
327+ }
328+ /// <summary>
329+ /// 克隆 ISelect
330+ /// </summary>
331+ public static ISelect < T1 , T2 > Clone < T1 , T2 > ( this ISelect < T1 , T2 > query )
332+ where T1 : class where T2 : class
333+ {
334+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 > ( ) ;
335+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
336+ return newQuery ;
337+ }
338+ /// <summary>
339+ /// 克隆 ISelect
340+ /// </summary>
341+ public static ISelect < T1 , T2 , T3 > Clone < T1 , T2 , T3 > ( this ISelect < T1 , T2 , T3 > query )
342+ where T1 : class where T2 : class where T3 : class
343+ {
344+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 > ( ) ;
345+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
346+ return newQuery ;
347+ }
348+ public static ISelect < T1 , T2 , T3 , T4 > Clone < T1 , T2 , T3 , T4 > ( this ISelect < T1 , T2 , T3 , T4 > query )
349+ where T1 : class where T2 : class where T3 : class where T4 : class
350+ {
351+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 > ( ) ;
352+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
353+ return newQuery ;
354+ }
355+ public static ISelect < T1 , T2 , T3 , T4 , T5 > Clone < T1 , T2 , T3 , T4 , T5 > ( this ISelect < T1 , T2 , T3 , T4 , T5 > query )
356+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class
357+ {
358+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 > ( ) ;
359+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
360+ return newQuery ;
361+ }
362+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 > Clone < T1 , T2 , T3 , T4 , T5 , T6 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 > query )
363+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class
364+ {
365+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 > ( ) ;
366+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
367+ return newQuery ;
368+ }
369+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 > query )
370+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class
371+ {
372+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 > ( ) ;
373+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
374+ return newQuery ;
375+ }
376+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > query )
377+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class
378+ {
379+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > ( ) ;
380+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
381+ return newQuery ;
382+ }
383+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > query )
384+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class
385+ {
386+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > ( ) ;
387+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
388+ return newQuery ;
389+ }
390+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > query )
391+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class
392+ {
393+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > ( ) ;
394+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
395+ return newQuery ;
396+ }
397+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > query )
398+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class
399+ {
400+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > ( ) ;
401+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
402+ return newQuery ;
403+ }
404+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > query )
405+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class where T12 : class
406+ {
407+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > ( ) ;
408+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
409+ return newQuery ;
410+ }
411+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > query )
412+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class where T12 : class where T13 : class
413+ {
414+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > ( ) ;
415+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
416+ return newQuery ;
417+ }
418+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > query )
419+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class where T12 : class where T13 : class where T14 : class
420+ {
421+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > ( ) ;
422+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
423+ return newQuery ;
424+ }
425+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > query )
426+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class where T12 : class where T13 : class where T14 : class where T15 : class
427+ {
428+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > ( ) ;
429+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
430+ return newQuery ;
431+ }
432+ public static ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > Clone < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > ( this ISelect < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > query )
433+ where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class where T11 : class where T12 : class where T13 : class where T14 : class where T15 : class where T16 : class
434+ {
435+ var newQuery = ( query as Select0Provider ) . _orm . Select < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > ( ) ;
436+ Select0Provider . CopyData ( query as Select0Provider , newQuery as Select0Provider , null ) ;
437+ return newQuery ;
438+ }
439+ #endregion
440+
317441 #region IncludeMany
318442 /// <summary>
319443 /// 本方法实现从已知的内存 List 数据,进行和 ISelect.IncludeMany 相同功能的贪婪加载<para></para>
0 commit comments