diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj
index 401f7500..70dcaf2e 100644
--- a/FreeSql/FreeSql.csproj
+++ b/FreeSql/FreeSql.csproj
@@ -24,6 +24,10 @@
+
+
+
+
FreeSql.xml
diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs
index dbd36784..b6f190b8 100644
--- a/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs
+++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs
@@ -32,6 +32,7 @@ namespace FreeSql.Internal.CommonProvider
{
this.AsTable((type, old) =>
{
+ if (type == _tables[0].Table?.Type && string.IsNullOrEmpty(sqlT1) == false) return $"({sqlT1})";
if (type == _tables[1].Table?.Type && string.IsNullOrEmpty(sqlT2) == false) return $"({sqlT2})";
if (type == _tables[2].Table?.Type && string.IsNullOrEmpty(sqlT3) == false) return $"({sqlT3})";
if (type == _tables[3].Table?.Type && string.IsNullOrEmpty(sqlT4) == false) return $"({sqlT4})";
@@ -44,7 +45,7 @@ namespace FreeSql.Internal.CommonProvider
return old;
});
- if (parms != null) _params.AddRange(_commonUtils.GetDbParamtersByObject($"{sqlT2};\r\n{sqlT3};\r\n{sqlT4};\r\n{sqlT5};\r\n{sqlT6};\r\n{sqlT7};\r\n{sqlT8};\r\n{sqlT9};\r\n{sqlT10};", parms));
+ if (parms != null) _params.AddRange(_commonUtils.GetDbParamtersByObject($"{sqlT1};\r\n{sqlT2};\r\n{sqlT3};\r\n{sqlT4};\r\n{sqlT5};\r\n{sqlT6};\r\n{sqlT7};\r\n{sqlT8};\r\n{sqlT9};\r\n{sqlT10}", parms));
return this;
}
@@ -235,61 +236,61 @@ namespace FreeSql.Internal.CommonProvider
TMember ISelect.Min(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).Min((Expression>)expModify);
+ return (this as ISelect).Min((Expression>)expModify);
}
ISelect ISelect.OrderBy(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).OrderBy((Expression>)expModify);
+ return (this as ISelect).OrderBy((Expression>)expModify);
}
ISelect ISelect.OrderByDescending(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).OrderByDescending((Expression>)expModify);
+ return (this as ISelect).OrderByDescending((Expression>)expModify);
}
ISelect ISelect.OrderByIf(bool condition, Expression, TMember>> column, bool descending)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).OrderByIf(condition, (Expression>)expModify, descending);
+ return (this as ISelect).OrderByIf(condition, (Expression>)expModify, descending);
}
decimal ISelect.Sum(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).Sum((Expression>)expModify);
+ return (this as ISelect).Sum((Expression>)expModify);
}
List ISelect.ToList(Expression, TReturn>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToList((Expression>)expModify);
+ return (this as ISelect).ToList((Expression>)expModify);
}
public void ToChunk(Expression, TReturn>> select, int size, Action>> done)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- (this as ISelect).ToChunk((Expression>)expModify, size, done);
+ (this as ISelect).ToChunk((Expression>)expModify, size, done);
}
DataTable ISelect.ToDataTable(Expression, TReturn>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToDataTable((Expression>)expModify);
+ return (this as ISelect).ToDataTable((Expression>)expModify);
}
int ISelect.InsertInto(string tableName, Expression, TTargetEntity>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).InsertInto(tableName, (Expression>)expModify);
+ return (this as ISelect).InsertInto(tableName, (Expression>)expModify);
}
string ISelect.ToSql(Expression, TReturn>> select, FieldAliasOptions fieldAlias)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToSql((Expression>)expModify, fieldAlias);
+ return (this as ISelect).ToSql((Expression>)expModify, fieldAlias);
}
ISelect ISelect.LeftJoin(Expression, bool>> exp)
@@ -418,43 +419,43 @@ namespace FreeSql.Internal.CommonProvider
Task ISelect.AvgAsync(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).AvgAsync((Expression>)expModify);
+ return (this as ISelect).AvgAsync((Expression>)expModify);
}
Task ISelect.MaxAsync(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).MaxAsync((Expression>)expModify);
+ return (this as ISelect).MaxAsync((Expression>)expModify);
}
Task ISelect.MinAsync(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).MinAsync((Expression>)expModify);
+ return (this as ISelect).MinAsync((Expression>)expModify);
}
Task ISelect.SumAsync(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).SumAsync((Expression>)expModify);
+ return (this as ISelect).SumAsync((Expression>)expModify);
}
Task> ISelect.ToListAsync(Expression, TReturn>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToListAsync((Expression>)expModify);
+ return (this as ISelect).ToListAsync((Expression>)expModify);
}
Task ISelect.ToDataTableAsync(Expression, TReturn>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToDataTableAsync((Expression>)expModify);
+ return (this as ISelect).ToDataTableAsync((Expression>)expModify);
}
Task ISelect.InsertIntoAsync(string tableName, Expression, TTargetEntity>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).InsertIntoAsync(tableName, (Expression>)expModify);
+ return (this as ISelect).InsertIntoAsync(tableName, (Expression>)expModify);
}
async Task ISelect.AnyAsync(Expression, bool>> exp)
@@ -475,4 +476,6 @@ namespace FreeSql.Internal.CommonProvider
}
+
+
}
\ No newline at end of file
diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select11Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select11Provider.cs
index 59a549dd..5f58506a 100644
--- a/FreeSql/Internal/CommonProvider/SelectProvider/Select11Provider.cs
+++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select11Provider.cs
@@ -33,6 +33,7 @@ namespace FreeSql.Internal.CommonProvider
{
this.AsTable((type, old) =>
{
+ if (type == _tables[0].Table?.Type && string.IsNullOrEmpty(sqlT1) == false) return $"({sqlT1})";
if (type == _tables[1].Table?.Type && string.IsNullOrEmpty(sqlT2) == false) return $"({sqlT2})";
if (type == _tables[2].Table?.Type && string.IsNullOrEmpty(sqlT3) == false) return $"({sqlT3})";
if (type == _tables[3].Table?.Type && string.IsNullOrEmpty(sqlT4) == false) return $"({sqlT4})";
@@ -46,7 +47,7 @@ namespace FreeSql.Internal.CommonProvider
return old;
});
- if (parms != null) _params.AddRange(_commonUtils.GetDbParamtersByObject($"{sqlT2};\r\n{sqlT3};\r\n{sqlT4};\r\n{sqlT5};\r\n{sqlT6};\r\n{sqlT7};\r\n{sqlT8};\r\n{sqlT9};\r\n{sqlT10};\r\n{sqlT11};", parms));
+ if (parms != null) _params.AddRange(_commonUtils.GetDbParamtersByObject($"{sqlT1};\r\n{sqlT2};\r\n{sqlT3};\r\n{sqlT4};\r\n{sqlT5};\r\n{sqlT6};\r\n{sqlT7};\r\n{sqlT8};\r\n{sqlT9};\r\n{sqlT10};\r\n{sqlT11}", parms));
return this;
}
@@ -237,61 +238,61 @@ namespace FreeSql.Internal.CommonProvider
TMember ISelect.Min(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).Min((Expression>)expModify);
+ return (this as ISelect).Min((Expression>)expModify);
}
ISelect ISelect.OrderBy(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).OrderBy((Expression>)expModify);
+ return (this as ISelect).OrderBy((Expression>)expModify);
}
ISelect ISelect.OrderByDescending(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).OrderByDescending((Expression>)expModify);
+ return (this as ISelect).OrderByDescending((Expression>)expModify);
}
ISelect ISelect.OrderByIf(bool condition, Expression, TMember>> column, bool descending)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).OrderByIf(condition, (Expression>)expModify, descending);
+ return (this as ISelect).OrderByIf(condition, (Expression>)expModify, descending);
}
decimal ISelect.Sum(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).Sum((Expression>)expModify);
+ return (this as ISelect).Sum((Expression>)expModify);
}
List ISelect.ToList(Expression, TReturn>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToList((Expression>)expModify);
+ return (this as ISelect).ToList((Expression>)expModify);
}
public void ToChunk(Expression, TReturn>> select, int size, Action>> done)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- (this as ISelect).ToChunk((Expression>)expModify, size, done);
+ (this as ISelect).ToChunk((Expression>)expModify, size, done);
}
DataTable ISelect.ToDataTable(Expression, TReturn>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToDataTable((Expression>)expModify);
+ return (this as ISelect).ToDataTable((Expression>)expModify);
}
int ISelect.InsertInto(string tableName, Expression, TTargetEntity>> select)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).InsertInto(tableName, (Expression>)expModify);
+ return (this as ISelect).InsertInto(tableName, (Expression>)expModify);
}
string ISelect.ToSql(Expression, TReturn>> select, FieldAliasOptions fieldAlias)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(select, _tables);
- return (this as ISelect).ToSql((Expression>)expModify, fieldAlias);
+ return (this as ISelect).ToSql((Expression>)expModify, fieldAlias);
}
ISelect ISelect.LeftJoin(Expression, bool>> exp)
@@ -420,43 +421,43 @@ namespace FreeSql.Internal.CommonProvider
Task ISelect.AvgAsync(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect).AvgAsync((Expression>)expModify);
+ return (this as ISelect).AvgAsync((Expression>)expModify);
}
Task ISelect.MaxAsync(Expression, TMember>> column)
{
var expModify = new CommonExpression.ReplaceHzyTupleToMultiParam().Modify(column, _tables);
- return (this as ISelect