@@ -25,8 +25,7 @@ public abstract class BaseDiyMemberExpression
2525 public ParameterExpression _lambdaParameter ;
2626 public ReadAnonymousTypeInfo _map ;
2727 public string _field ;
28- public ReadAnonymousTypeInfo ParseExpMapResult { get ; internal protected set ; }
29- public ColumnInfo ParseExpColumnResult { get ; internal protected set ; }
28+ public ReadAnonymousTypeInfo ParseExpMapResult { get ; protected set ; }
3029 public abstract string ParseExp ( Expression [ ] members ) ;
3130 }
3231
@@ -532,7 +531,7 @@ void LocalSetFieldAlias(ref int localIndex, bool isdiymemexp)
532531 parent . Childs . Add ( child ) ;
533532 if ( dtTb . Parameter != null )
534533 ReadAnonymousField ( _tables , _tableRule , field , child , ref index , Expression . Property (
535- dtTb . Parameter . Type == dtTb . Table . Type ? ( Expression ) dtTb . Parameter : Expression . TypeAs ( dtTb . Parameter , dtTb . Table . Type ) ,
534+ dtTb . Parameter . Type == dtTb . Table . Type ? ( Expression ) dtTb . Parameter : Expression . TypeAs ( dtTb . Parameter , dtTb . Table . Type ) ,
536535 dtTb . Table . Properties [ trydtocol . CsName ] ) , select , diymemexp , whereGlobalFilter , findIncludeMany , findSubSelectMany , isAllDtoMap ) ;
537536 else
538537 {
@@ -825,7 +824,7 @@ rightExp is UnaryExpression rightExpUexp &&
825824
826825 var rightBool = ExpressionLambdaToSql ( rightExp , tsc ) ;
827826 var rightColumn = SearchColumnByField ( tsc . _tables , tsc . currentTable , rightBool ) ;
828- if ( rightColumn != null ) rightBool = $ "{ rightBool } = { formatSql ( true , rightColumn . Attribute . MapType , null , null ) } ";
827+ if ( rightColumn != null ) rightBool = $ "{ rightBool } = { formatSql ( true , rightColumn . Attribute . MapType , null , null ) } ";
829828 else rightBool = GetBoolString ( rightBool ) ;
830829 if ( _common . _orm ? . Ado ? . DataType == DataType . QuestDb ) return $ "(({ leftBool } ) { oper } ({ rightBool } ))";
831830 return $ "({ leftBool } { oper } { rightBool } )";
@@ -860,20 +859,17 @@ rightExp is UnaryExpression rightExpUexp &&
860859 }
861860
862861 Type oldMapType = null ;
863- if ( tsc . diymemexp != null ) tsc . diymemexp . ParseExpColumnResult = null ;
864862 var left = ExpressionLambdaToSql ( leftExp , tsc ) ;
865- var leftMapColumn = SearchColumnByField ( tsc . _tables , tsc . currentTable , left ) ??
866- tsc . diymemexp ? . ParseExpColumnResult ; //group by emum -> MapType(string) #1727
863+ var leftMapColumn = SearchColumnByField ( tsc . _tables , tsc . currentTable , left ) ;
867864 var isLeftMapType = leftMapColumn != null && new [ ] { "AND" , "OR" , "*" , "/" , "+" , "-" } . Contains ( oper ) == false && ( leftMapColumn . Attribute . MapType != rightExp . Type || leftMapColumn . CsType != rightExp . Type ) ;
868865 ColumnInfo rightMapColumn = null ;
869866 var isRightMapType = false ;
870867 if ( isLeftMapType ) oldMapType = tsc . SetMapTypeReturnOld ( leftMapColumn . Attribute . MapType ) ;
871868
872- var right = ( leftMapColumn != null &&
869+ var right = ( leftMapColumn != null &&
873870 ( leftMapColumn . Table . AsTableColumn == leftMapColumn && rightExp . IsParameter ( ) == false ) ) ? //自动分表
874871 formatSql ( Expression . Lambda ( rightExp ) . Compile ( ) . DynamicInvoke ( ) , leftMapColumn . Attribute . MapType , leftMapColumn , tsc . dbParams ) :
875872 ExpressionLambdaToSql ( rightExp , tsc ) ;
876- if ( isLeftMapType ) tsc . SetMapTypeReturnOld ( leftMapColumn . Attribute . MapType ) ;
877873 if ( right != "NULL" && isLeftMapType &&
878874 //判断参数化后的bug
879875 ! ( right . Contains ( '@' ) || right . Contains ( '?' ) || right . Contains ( ':' ) ) &&
@@ -896,11 +892,10 @@ rightExp is UnaryExpression rightExpUexp &&
896892 if ( isRightMapType )
897893 {
898894 oldMapType = tsc . SetMapTypeReturnOld ( rightMapColumn . Attribute . MapType ) ;
899- left = ( rightMapColumn != null &&
895+ left = ( rightMapColumn != null &&
900896 ( rightMapColumn . Table . AsTableColumn == rightMapColumn && leftExp . IsParameter ( ) == false ) ) ? //自动分表
901- formatSql ( Expression . Lambda ( leftExp ) . Compile ( ) . DynamicInvoke ( ) , rightMapColumn . Attribute . MapType , rightMapColumn , tsc . dbParams ) :
897+ formatSql ( Expression . Lambda ( leftExp ) . Compile ( ) . DynamicInvoke ( ) , rightMapColumn . Attribute . MapType , rightMapColumn , tsc . dbParams ) :
902898 ExpressionLambdaToSql ( leftExp , tsc ) ;
903- if ( isRightMapType ) tsc . SetMapTypeReturnOld ( rightMapColumn . Attribute . MapType ) ;
904899 if ( left != "NULL" && isRightMapType &&
905900 //判断参数化后的bug
906901 ! ( left . Contains ( '@' ) || left . Contains ( '?' ) || left . Contains ( ':' ) ) &&
@@ -990,7 +985,7 @@ public string ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
990985 {
991986 case ExpressionType . Not :
992987 var notExp = ( exp as UnaryExpression ) ? . Operand ;
993- if ( notExp . Type . IsNumberType ( ) ) return _common . BitNot ( ExpressionLambdaToSql ( notExp , tsc ) ) ; //位操作
988+ if ( notExp . Type . IsNumberType ( ) ) return _common . BitNot ( ExpressionLambdaToSql ( notExp , tsc ) ) ; //位操作
994989 if ( notExp . NodeType == ExpressionType . MemberAccess )
995990 {
996991 var notBody = ExpressionLambdaToSql ( notExp , tsc ) ;
@@ -1006,7 +1001,7 @@ public string ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
10061001 case ExpressionType . Invoke : //#1378
10071002 var invokeExp = exp as InvocationExpression ;
10081003 var invokeReplaceExp = invokeExp . Expression ;
1009- var invokeLambdaExp = invokeReplaceExp as LambdaExpression ;
1004+ var invokeLambdaExp = invokeReplaceExp as LambdaExpression ;
10101005 if ( invokeLambdaExp == null ) return formatSql ( Expression . Lambda ( exp ) . Compile ( ) . DynamicInvoke ( ) , tsc . mapType , tsc . mapColumnTmp , tsc . dbParams ) ;
10111006 var invokeReplaceVistor = new FreeSql . Internal . CommonExpression . ReplaceVisitor ( ) ;
10121007 var len = Math . Min ( invokeExp . Arguments . Count , invokeLambdaExp . Parameters . Count ) ;
@@ -1842,7 +1837,7 @@ public string ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
18421837 }
18431838 if ( callExp != null ) return ExpressionLambdaToSql ( callExp , tsc ) ;
18441839 var diymemexps = new [ ] { tsc . diymemexp , tsc . subSelect001 ? . _diymemexpWithTempQuery } ;
1845- if ( _subSelectParentDiyMemExps . Value ? . Any ( ) == true )
1840+ if ( _subSelectParentDiyMemExps . Value ? . Any ( ) == true )
18461841 diymemexps = diymemexps . Concat ( _subSelectParentDiyMemExps . Value ) . ToArray ( ) ;
18471842 foreach ( var diymemexp in diymemexps )
18481843 {
@@ -2425,7 +2420,7 @@ public string GetWhereCascadeSql(SelectTableInfo tb, IEnumerable<GlobalFilter.It
24252420 new ReplaceParameterVisitor ( ) . Modify ( fl . Where , newParameter ) ,
24262421 newParameter
24272422 ) ;
2428- var whereSql = ExpressionLambdaToSql ( expExp . Body , new ExpTSC
2423+ var whereSql = ExpressionLambdaToSql ( expExp . Body , new ExpTSC
24292424 {
24302425 _tables = isMultitb ? new List < SelectTableInfo > ( new [ ] { tb } ) : null ,
24312426 _selectColumnMap = null ,
@@ -2507,8 +2502,8 @@ public class ReplaceHzyTupleToMultiParam : ExpressionVisitor
25072502 public LambdaExpression Modify ( LambdaExpression lambda , List < SelectTableInfo > tables )
25082503 {
25092504 this . tables = tables . Where ( a => a . Type != SelectTableInfoType . Parent ) . ToList ( ) ;
2510- parameters = this . tables . Select ( a => a . Parameter ??
2511- Expression . Parameter ( a . Table . Type ,
2505+ parameters = this . tables . Select ( a => a . Parameter ??
2506+ Expression . Parameter ( a . Table . Type ,
25122507 a . Alias . StartsWith ( "SP10" ) ? a . Alias . Replace ( "SP10" , "ht" ) : a . Alias ) ) . ToArray ( ) ;
25132508 lambdaHzyParameter = lambda . Parameters . FirstOrDefault ( ) ;
25142509 var exp = Visit ( lambda . Body ) ;
@@ -2596,7 +2591,7 @@ Expression LocalMatch(Type type, Expression memExp)
25962591 {
25972592 if ( matchIgnores . ContainsKey ( typeProp ) ) continue ;
25982593 matchIgnores . Add ( typeProp , true ) ;
2599- var nextExp = Expression . MakeMemberAccess ( memExp , typeProp ) ;
2594+ var nextExp = Expression . MakeMemberAccess ( memExp , typeProp ) ;
26002595 var ret = LocalMatch ( typeProp . PropertyType , nextExp ) ;
26012596 if ( ret != null )
26022597 {
@@ -2765,8 +2760,8 @@ void LocalInitSelectProvider()
27652760 Type = SelectTableInfoType . Parent ,
27662761 Parameter = a . Parameter
27672762 } ) ) ;
2768- if ( dbParams != null ) select . WithParameters ( dbParams ) ;
2769- if ( tableRule != null ) select . _tableRules . Add ( tableRule ) ;
2763+ if ( dbParams != null ) select . WithParameters ( dbParams ) ;
2764+ if ( tableRule != null ) select . _tableRules . Add ( tableRule ) ;
27702765 if ( whereGlobalFilter != null )
27712766 {
27722767 select . _whereGlobalFilter . Clear ( ) ;
0 commit comments