Skip to content

Commit f799191

Browse files
committed
- 优化 WithTempQuery + SqlServer 未指定 OrderBy 的分页;
1 parent c055123 commit f799191

File tree

5 files changed

+114
-7
lines changed

5 files changed

+114
-7
lines changed

Examples/base_entity/Program.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ static void Main(string[] args)
560560

561561
//.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;min pool size=1;Max pool size=3;AllowLoadLocalInfile=true")
562562

563-
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
563+
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
564564

565565
//.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2")
566566
////.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=toc;Pooling=true;Maximum Pool Size=2")
@@ -599,6 +599,9 @@ static void Main(string[] args)
599599
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
600600
#endregion
601601

602+
var cccsql1 = fsql.Select<CCC>().Page(1, 10).ToSql();
603+
var cccsql2 = fsql.Select<CCC>().Page(2, 10).ToSql();
604+
602605
new Products
603606
{
604607
title = "one plus pro"

FreeSql/FreeSql.xml

Lines changed: 98 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Providers/FreeSql.Provider.Custom/SqlServer/Curd/CustomSqlServerSelect.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ internal static string ToSqlStaticRowNumber(CommonUtils _commonUtils, CommonExpr
5454
{
5555
var pktb = _tables.Where(a => a.Table.Primarys.Any()).FirstOrDefault();
5656
if (pktb != null) _orderby = string.Concat(" \r\nORDER BY ", pktb.Alias, ".", _commonUtils.QuoteSqlName(pktb?.Table.Primarys.First().Attribute.Name));
57-
else _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
57+
else if (_tables.FirstOrDefault()?.Table?.Columns?.Any() == true) _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
58+
else _orderby = " \r\nORDER BY getdate()";
5859
}
5960
else
6061
_orderby = _groupby.Replace("GROUP BY ", "ORDER BY ");
@@ -277,7 +278,8 @@ internal static string ToSqlStaticOffsetFetchNext(CommonUtils _commonUtils, Comm
277278
{
278279
var pktb = _tables.Where(a => a.Table.Primarys.Any()).FirstOrDefault();
279280
if (pktb != null) _orderby = string.Concat(" \r\nORDER BY ", pktb.Alias, ".", _commonUtils.QuoteSqlName(pktb?.Table.Primarys.First().Attribute.Name));
280-
else _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
281+
else if (_tables.FirstOrDefault()?.Table?.Columns?.Any() == true) _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
282+
else _orderby = " \r\nORDER BY getdate()";
281283
}
282284
else
283285
_orderby = _groupby.Replace("GROUP BY ", "ORDER BY ");

Providers/FreeSql.Provider.Odbc/SqlServer/Curd/OdbcSqlServerSelect.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ internal static string ToSqlStaticRowNumber(CommonUtils _commonUtils, CommonExpr
5454
{
5555
var pktb = _tables.Where(a => a.Table.Primarys.Any()).FirstOrDefault();
5656
if (pktb != null) _orderby = string.Concat(" \r\nORDER BY ", pktb.Alias, ".", _commonUtils.QuoteSqlName(pktb?.Table.Primarys.First().Attribute.Name));
57-
else _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
57+
else if (_tables.FirstOrDefault()?.Table?.Columns?.Any() == true) _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
58+
else _orderby = " \r\nORDER BY getdate()";
5859
}
5960
else
6061
_orderby = _groupby.Replace("GROUP BY ", "ORDER BY ");
@@ -277,7 +278,8 @@ internal static string ToSqlStaticOffsetFetchNext(CommonUtils _commonUtils, Comm
277278
{
278279
var pktb = _tables.Where(a => a.Table.Primarys.Any()).FirstOrDefault();
279280
if (pktb != null) _orderby = string.Concat(" \r\nORDER BY ", pktb.Alias, ".", _commonUtils.QuoteSqlName(pktb?.Table.Primarys.First().Attribute.Name));
280-
else _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
281+
else if (_tables.FirstOrDefault()?.Table?.Columns?.Any() == true) _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
282+
else _orderby = " \r\nORDER BY getdate()";
281283
}
282284
else
283285
_orderby = _groupby.Replace("GROUP BY ", "ORDER BY ");

Providers/FreeSql.Provider.SqlServer/Curd/SqlServerSelect.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ internal static string ToSqlStaticRowNumber(CommonUtils _commonUtils, CommonExpr
5454
{
5555
var pktb = _tables.Where(a => a.Table.Primarys.Any()).FirstOrDefault();
5656
if (pktb != null) _orderby = string.Concat(" \r\nORDER BY ", pktb.Alias, ".", _commonUtils.QuoteSqlName(pktb?.Table.Primarys.First().Attribute.Name));
57-
else _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
57+
else if (_tables.FirstOrDefault()?.Table?.Columns?.Any() == true) _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
58+
else _orderby = " \r\nORDER BY getdate()";
5859
}
5960
else
6061
_orderby = _groupby.Replace("GROUP BY ", "ORDER BY ");
@@ -277,7 +278,8 @@ internal static string ToSqlStaticOffsetFetchNext(CommonUtils _commonUtils, Comm
277278
{
278279
var pktb = _tables.Where(a => a.Table.Primarys.Any()).FirstOrDefault();
279280
if (pktb != null) _orderby = string.Concat(" \r\nORDER BY ", pktb.Alias, ".", _commonUtils.QuoteSqlName(pktb?.Table.Primarys.First().Attribute.Name));
280-
else _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
281+
else if(_tables.FirstOrDefault()?.Table?.Columns?.Any() == true) _orderby = string.Concat(" \r\nORDER BY ", _tables.First().Alias, ".", _commonUtils.QuoteSqlName(_tables.First().Table.Columns.First().Value.Attribute.Name));
282+
else _orderby = " \r\nORDER BY getdate()";
281283
}
282284
else
283285
_orderby = _groupby.Replace("GROUP BY ", "ORDER BY ");

0 commit comments

Comments
 (0)