Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit d6c160d

Browse files
committed
Fix remaining order by tests
1 parent 33292ef commit d6c160d

File tree

6 files changed

+20
-14
lines changed

6 files changed

+20
-14
lines changed

src/ServiceStack.OrmLite/Expressions/SqlExpression.cs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -378,16 +378,16 @@ private SqlExpression<T> OrderByInternal(Expression keySelector)
378378
sep = string.Empty;
379379
useFieldName = true;
380380
orderByProperties.Clear();
381-
var property = Visit(keySelector).ToString();
382-
orderByProperties.Add(property + " ASC");
381+
var fields = Visit(keySelector).ToString();
382+
orderByProperties.Add(fields);
383383
BuildOrderByClauseInternal();
384384
return this;
385385
}
386386

387387
public virtual SqlExpression<T> ThenBy(string orderBy)
388388
{
389389
orderBy.SqlVerifyFragment();
390-
orderByProperties.Add(orderBy + " ASC");
390+
orderByProperties.Add(orderBy);
391391
BuildOrderByClauseInternal();
392392
return this;
393393
}
@@ -406,8 +406,8 @@ private SqlExpression<T> ThenByInternal(Expression keySelector)
406406
{
407407
sep = string.Empty;
408408
useFieldName = true;
409-
var property = Visit(keySelector).ToString();
410-
orderByProperties.Add(property + " ASC");
409+
var fields = Visit(keySelector).ToString();
410+
orderByProperties.Add(fields);
411411
BuildOrderByClauseInternal();
412412
return this;
413413
}
@@ -427,8 +427,11 @@ private SqlExpression<T> OrderByDescendingInternal(Expression keySelector)
427427
sep = string.Empty;
428428
useFieldName = true;
429429
orderByProperties.Clear();
430-
var property = Visit(keySelector).ToString();
431-
orderByProperties.Add(property + " DESC");
430+
var fields = Visit(keySelector).ToString().Split(',');
431+
foreach (var field in fields)
432+
{
433+
orderByProperties.Add(field.Trim() + " DESC");
434+
}
432435
BuildOrderByClauseInternal();
433436
return this;
434437
}
@@ -455,8 +458,11 @@ private SqlExpression<T> ThenByDescendingInternal(Expression keySelector)
455458
{
456459
sep = string.Empty;
457460
useFieldName = true;
458-
var property = Visit(keySelector).ToString();
459-
orderByProperties.Add(property + " DESC");
461+
var fields = Visit(keySelector).ToString().Split(',');
462+
foreach (var field in fields)
463+
{
464+
orderByProperties.Add(field.Trim() + " DESC");
465+
}
460466
BuildOrderByClauseInternal();
461467
return this;
462468
}

tests/ServiceStack.OrmLite.Tests/ApiSqlServerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void API_SqlServer_Examples()
3636
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)"));
3737

3838
db.Select<Person>(q => q.Where(x => x.Age > 40).OrderBy(x => x.Id));
39-
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)\nORDER BY \"Id\" ASC"));
39+
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)\nORDER BY \"Id\""));
4040

4141
db.Select<Person>(q => q.Where(x => x.Age > 40));
4242
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)"));

tests/ServiceStack.OrmLite.Tests/Issues/MultiColumnOrderByDescending.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void Can_sort_multiple_columns_in_descending_order()
4242
{
4343
var q = db.From<Person>()
4444
.OrderByDescending(p => p.LastName)
45-
.OrderByDescending(p => p.FirstName);
45+
.ThenByDescending(p => p.FirstName);
4646

4747
var result = db.Select(q);
4848

tests/ServiceStack.OrmLiteV45.Tests/ApiMySqlTestsAsync.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public async Task API_MySql_Examples_Async()
3535
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT `Id`, `FirstName`, `LastName`, `Age` \nFROM `Person`\nWHERE (`Age` > 40)"));
3636

3737
await db.SelectAsync<Person>(q => q.Where(x => x.Age > 40).OrderBy(x => x.Id));
38-
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT `Id`, `FirstName`, `LastName`, `Age` \nFROM `Person`\nWHERE (`Age` > 40)\nORDER BY `Id` ASC"));
38+
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT `Id`, `FirstName`, `LastName`, `Age` \nFROM `Person`\nWHERE (`Age` > 40)\nORDER BY `Id`"));
3939

4040
await db.SelectAsync<Person>(q => q.Where(x => x.Age > 40));
4141
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT `Id`, `FirstName`, `LastName`, `Age` \nFROM `Person`\nWHERE (`Age` > 40)"));

tests/ServiceStack.OrmLiteV45.Tests/ApiSqlServerTestsAsync.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public async Task API_SqlServer_Examples_Async()
3535
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)"));
3636

3737
await db.SelectAsync<Person>(q => q.Where(x => x.Age > 40).OrderBy(x => x.Id));
38-
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)\nORDER BY \"Id\" ASC"));
38+
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)\nORDER BY \"Id\""));
3939

4040
await db.SelectAsync<Person>(q => q.Where(x => x.Age > 40));
4141
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)"));

tests/ServiceStack.OrmLiteV45.Tests/ApiSqliteTestsAsync.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public async Task API_Sqlite_Examples_Async()
3434
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)"));
3535

3636
await db.SelectAsync<Person>(q => q.Where(x => x.Age > 40).OrderBy(x => x.Id));
37-
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)\nORDER BY \"Id\" ASC"));
37+
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)\nORDER BY \"Id\""));
3838

3939
await db.SelectAsync<Person>(q => q.Where(x => x.Age > 40));
4040
Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" \nFROM \"Person\"\nWHERE (\"Age\" > 40)"));

0 commit comments

Comments
 (0)