From 579df2e0c4fd93398576ea54a68259d3c1806418 Mon Sep 17 00:00:00 2001
From: hzy <1396510655@qq.com>
Date: Wed, 4 Nov 2020 00:11:46 +0800
Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=85=83=E7=A5=96=20?=
=?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=96=B0=E5=A4=9A=E8=A1=A8=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=20=E8=AF=AD=E6=B3=95=20=E5=AF=BC=E8=87=B4=E6=97=A7=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E7=BC=BA=E5=A4=B1=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=20=E6=B7=BB=E5=8A=A0selectprovider=20=E7=9A=84T4=E6=A8=A1?=
=?UTF-8?q?=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql/FreeSql.csproj | 4 +
.../SelectProvider/Select10Provider.cs | 39 +-
.../SelectProvider/Select11Provider.cs | 38 +-
.../SelectProvider/Select12Provider.cs | 38 +-
.../SelectProvider/Select13Provider.cs | 37 +-
.../SelectProvider/Select14Provider.cs | 37 +-
.../SelectProvider/Select15Provider.cs | 37 +-
.../SelectProvider/Select16Provider.cs | 37 +-
.../SelectProvider/Select2Provider.cs | 44 +-
.../SelectProvider/Select3Provider.cs | 40 +-
.../SelectProvider/Select4Provider.cs | 39 +-
.../SelectProvider/Select5Provider.cs | 39 +-
.../SelectProvider/Select6Provider.cs | 38 +-
.../SelectProvider/Select7Provider.cs | 39 +-
.../SelectProvider/Select8Provider.cs | 39 +-
.../SelectProvider/Select9Provider.cs | 37 +-
.../SelectProvider/T4Temp/ISelect.tt | 161 ++++++
.../SelectProvider/T4Temp/SelectProvider.tt | 524 ++++++++++++++++++
18 files changed, 979 insertions(+), 288 deletions(-)
create mode 100644 FreeSql/Internal/CommonProvider/SelectProvider/T4Temp/ISelect.tt
create mode 100644 FreeSql/Internal/CommonProvider/SelectProvider/T4Temp/SelectProvider.tt
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