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

Commit 583ec7a

Browse files
committed
Add TestExpression API examples
1 parent 14bded8 commit 583ec7a

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

tests/ServiceStack.OrmLiteV45.Tests/Issues/SqlServerComputedColumnIssue.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Data;
2+
using System.Linq;
23
using System.Threading.Tasks;
34
using NUnit.Framework;
45
using ServiceStack.DataAnnotations;
@@ -28,6 +29,14 @@ public class ComputeTest : IHasId<int>
2829
public string FullName { get; set; }
2930
}
3031

32+
public class TestExpression
33+
{
34+
[AutoIncrement]
35+
public int Id { get; set; }
36+
public string AccountName { get; set; }
37+
public bool IsActive { get; set; }
38+
}
39+
3140
public class SqlServerComputedColumnIssue
3241
{
3342
private IDbConnection db;
@@ -124,5 +133,28 @@ public virtual async Task<T> Create<T>(T obj) where T : IHasId<int>
124133
// returns the object inserted or updated
125134
return await db.LoadSingleByIdAsync<T>(id);
126135
}
136+
137+
[Test]
138+
public async Task LoadSelect_can_query_and_orderBy()
139+
{
140+
db.DropAndCreateTable<TestExpression>();
141+
142+
db.Insert(new TestExpression { AccountName = "Foo", IsActive = true });
143+
db.Insert(new TestExpression { AccountName = "Bar", IsActive = false });
144+
145+
var rows = (await db.LoadSelectAsync<TestExpression>(x => x.IsActive))
146+
.OrderBy(x => x.AccountName)
147+
.ToList();
148+
149+
Assert.That(rows.Count, Is.EqualTo(1));
150+
Assert.That(rows[0].AccountName, Is.EqualTo("Foo"));
151+
152+
rows = await db.LoadSelectAsync(db.From<TestExpression>()
153+
.Where(x => x.IsActive)
154+
.OrderBy(x => x.AccountName));
155+
156+
Assert.That(rows.Count, Is.EqualTo(1));
157+
Assert.That(rows[0].AccountName, Is.EqualTo("Foo"));
158+
}
127159
}
128160
}

0 commit comments

Comments
 (0)