mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	@@ -2,7 +2,7 @@
 | 
			
		||||
 | 
			
		||||
	<PropertyGroup>
 | 
			
		||||
		<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
 | 
			
		||||
		<Version>2.0.0-preview1108</Version>
 | 
			
		||||
		<Version>2.0.0-preview1109</Version>
 | 
			
		||||
		<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
 | 
			
		||||
		<Authors>FreeSql;ncc;YeXiangQin</Authors>
 | 
			
		||||
		<Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Firebird, Odbc, 达梦, 人大金仓, 神舟通用, 翰高, And Access</Description>
 | 
			
		||||
 
 | 
			
		||||
@@ -1622,12 +1622,12 @@ namespace FreeSql.Internal
 | 
			
		||||
                    var errorKey = FreeUtil.Sha1($"{(isMultitb ? 1 : 0)},{fl.Where.ToString()}");
 | 
			
		||||
                    if (dicSqlError.ContainsKey(errorKey)) continue;
 | 
			
		||||
 | 
			
		||||
                    var visitor = new ReplaceVisitor();
 | 
			
		||||
                    var visitor = new ReplaceParameterVisitor();
 | 
			
		||||
                    try
 | 
			
		||||
                    {
 | 
			
		||||
                        var expExp = Expression.Lambda(
 | 
			
		||||
                            typeof(Func<,>).MakeGenericType(tb.Table.Type, typeof(bool)),
 | 
			
		||||
                            new ReplaceVisitor().Modify(fl.Where, newParameter),
 | 
			
		||||
                            new ReplaceParameterVisitor().Modify(fl.Where, newParameter),
 | 
			
		||||
                            newParameter
 | 
			
		||||
                        );
 | 
			
		||||
                        var whereSql = ExpressionLambdaToSql(expExp.Body, new ExpTSC { _tables = 
 | 
			
		||||
@@ -1652,7 +1652,7 @@ namespace FreeSql.Internal
 | 
			
		||||
            }
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        internal class ReplaceVisitor : ExpressionVisitor
 | 
			
		||||
        public class ReplaceParameterVisitor : ExpressionVisitor
 | 
			
		||||
        {
 | 
			
		||||
            private ParameterExpression parameter;
 | 
			
		||||
            private ParameterExpression oldParameter;
 | 
			
		||||
@@ -1670,7 +1670,7 @@ namespace FreeSql.Internal
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal class ReplaceHzyTupleToMultiParam : ExpressionVisitor
 | 
			
		||||
        public class ReplaceHzyTupleToMultiParam : ExpressionVisitor
 | 
			
		||||
        {
 | 
			
		||||
            private List<SelectTableInfo> tables;
 | 
			
		||||
            private ParameterExpression[] parameters;
 | 
			
		||||
 
 | 
			
		||||
@@ -72,7 +72,7 @@ namespace FreeSql.Internal
 | 
			
		||||
 | 
			
		||||
            var newParameter = Expression.Parameter(typeof(TEntity), $"gf{_id}");
 | 
			
		||||
            var newlambda = Expression.Lambda<Func<TEntity, bool>>(
 | 
			
		||||
                new CommonExpression.ReplaceVisitor().Modify(where, newParameter),
 | 
			
		||||
                new CommonExpression.ReplaceParameterVisitor().Modify(where, newParameter),
 | 
			
		||||
                newParameter
 | 
			
		||||
            );
 | 
			
		||||
            item.Where = newlambda;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user