Skip to content

Commit 3a6f717

Browse files
authored
Merge pull request #2125 from d4ilys/master
优化QuestDb RestApi 相关逻辑
2 parents 1a0cc33 + c4b4fac commit 3a6f717

23 files changed

+415
-324
lines changed

FreeSql.Tests/FreeSql.Tests/QuestDb/Crud/QuestDbTestInsertAndUpdate.cs renamed to FreeSql.Tests/FreeSql.Tests.Provider.QuestDb/Crud/QuestDbTestInsertAndUpdate.cs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class QuestDbTestInsertAndUpdate
1717
[Fact,Order(1)]
1818
public async Task TestInsertAsync()
1919
{
20-
var result = await fsql.Insert(new QuestDb_Model_Test01()
20+
var result = await Db.Insert(new QuestDb_Model_Test01()
2121
{
2222
Primarys = Guid.NewGuid().ToString(),
2323
CreateTime = DateTime.Now,
@@ -66,7 +66,7 @@ public async Task TestInsertBatchAsync()
6666
NameUpdate = "NameUpdate"
6767
},
6868
};
69-
var result = await fsql.Insert(list).ExecuteAffrowsAsync();
69+
var result = await Db.Insert(list).ExecuteAffrowsAsync();
7070
Assert.True(result > 0);
7171
}
7272

@@ -106,14 +106,14 @@ public async Task TestInsertInsertColumnsAsync()
106106
NameUpdate = "NameUpdate"
107107
},
108108
};
109-
var result = await fsql.Insert(list).IgnoreColumns(q => q.NameInsert).ExecuteAffrowsAsync();
109+
var result = await Db.Insert(list).IgnoreColumns(q => q.NameInsert).ExecuteAffrowsAsync();
110110
Assert.True(result > 0);
111111
}
112112

113113
[Fact]
114114
public async Task TestRestInsertAsync()
115115
{
116-
var result = await restFsql.Insert(new QuestDb_Model_Test01()
116+
var result = await RestApiDb.Insert(new QuestDb_Model_Test01()
117117
{
118118
Primarys = Guid.NewGuid().ToString(),
119119
CreateTime = DateTime.Now,
@@ -162,7 +162,7 @@ public async Task TestRestInsertBatchAsync()
162162
NameUpdate = "NameUpdate"
163163
},
164164
};
165-
var result = await restFsql.Insert(list).ExecuteAffrowsAsync();
165+
var result = await RestApiDb.Insert(list).ExecuteAffrowsAsync();
166166
Assert.True(result > 0);
167167
}
168168

@@ -202,7 +202,7 @@ public async Task TestRestInsertColumnsAsync()
202202
NameUpdate = "NameUpdate"
203203
},
204204
};
205-
var result = await restFsql.Insert(list).IgnoreColumns(q => q.NameInsert).ExecuteAffrowsAsync();
205+
var result = await RestApiDb.Insert(list).IgnoreColumns(q => q.NameInsert).ExecuteAffrowsAsync();
206206
Assert.True(result > 0);
207207
}
208208

@@ -224,7 +224,7 @@ public async Task TestSqlBulkCopy()
224224
});
225225
}
226226

227-
var result = await restFsql.Insert(list).ExecuteQuestDbBulkCopyAsync();
227+
var result = await RestApiDb.Insert(list).ExecuteQuestDbBulkCopyAsync();
228228
Assert.True(result > 0);
229229
}
230230

@@ -233,7 +233,7 @@ public async Task TestSqlBulkCopy()
233233
public void TestNormalUpdate()
234234
{
235235
var updateTime = DateTime.Now;
236-
var updateObj = fsql.Update<QuestDb_Model_Test01>()
236+
var updateObj = Db.Update<QuestDb_Model_Test01>()
237237
.Set(q => q.NameUpdate, "UpdateNow")
238238
// .Set(q => q.CreateTime, DateTime.Now) 分表的时间不可以随便改
239239
.Where(q => q.Id == "1");
@@ -253,7 +253,7 @@ public void TestUpdateByModel()
253253
{
254254
var primary = Guid.NewGuid().ToString();
255255
//先插入
256-
fsql.Insert(new QuestDb_Model_Test01()
256+
Db.Insert(new QuestDb_Model_Test01()
257257
{
258258
Primarys = primary,
259259
CreateTime = DateTime.Now,
@@ -269,11 +269,11 @@ public void TestUpdateByModel()
269269
Id = primary,
270270
Activos = 12.65,
271271
};
272-
var updateObj = fsql.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null);
272+
var updateObj = Db.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null);
273273
var sql = updateObj.ToSql();
274274
Debug.WriteLine(sql);
275275
var result = updateObj.ExecuteAffrows();
276-
var resultAsync = fsql.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null)
276+
var resultAsync = Db.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null)
277277
.ExecuteAffrows();
278278
Assert.True(result > 0);
279279
Assert.True(resultAsync > 0);
@@ -288,7 +288,7 @@ public async Task TestUpdateIgnoreColumnsAsync()
288288
var primary = Guid.NewGuid().ToString();
289289
var updateTime = DateTime.Now;
290290
//先插入
291-
fsql.Insert(new QuestDb_Model_Test01()
291+
Db.Insert(new QuestDb_Model_Test01()
292292
{
293293
Primarys = primary,
294294
CreateTime = DateTime.Now,
@@ -298,19 +298,20 @@ public async Task TestUpdateIgnoreColumnsAsync()
298298
NameInsert = "NameInsert",
299299
NameUpdate = "NameUpdate"
300300
}).ExecuteAffrows();
301+
301302
var updateModel = new QuestDb_Model_Test01
302303
{
303304
Id = primary,
304305
Activos = 12.65,
305306
IsCompra = true,
306307
CreateTime = DateTime.Now
307308
};
308-
var updateObj = fsql.Update<QuestDb_Model_Test01>().SetSource(updateModel)
309+
var updateObj = Db.Update<QuestDb_Model_Test01>().SetSource(updateModel)
309310
.IgnoreColumns(q => new { q.Id, q.CreateTime });
310311
var sql = updateObj.ToSql();
311312
Debug.WriteLine(sql);
312313
var result = updateObj.ExecuteAffrows();
313-
var resultAsync = await fsql.Update<QuestDb_Model_Test01>().SetSource(updateModel)
314+
var resultAsync = await Db.Update<QuestDb_Model_Test01>().SetSource(updateModel)
314315
.IgnoreColumns(q => new { q.Id, q.CreateTime }).ExecuteAffrowsAsync();
315316
Assert.True(result > 0);
316317
Assert.True(resultAsync > 0);
@@ -323,7 +324,7 @@ public async Task TestUpdateIgnoreColumnsAsync()
323324
public async Task TestUpdateToUpdateAsync()
324325
{
325326
//官网demo有问题,暂时放弃此功能
326-
var result = await fsql.Select<QuestDb_Model_Test01>().Where(q => q.Id == "IdAsync" && q.NameInsert == null)
327+
var result = await Db.Select<QuestDb_Model_Test01>().Where(q => q.Id == "IdAsync" && q.NameInsert == null)
327328
.ToUpdate()
328329
.Set(q => q.UpdateTime, DateTime.Now)
329330
.ExecuteAffrowsAsync();

FreeSql.Tests/FreeSql.Tests/QuestDb/Crud/QuestDbTestSelect.cs renamed to FreeSql.Tests/FreeSql.Tests.Provider.QuestDb/Crud/QuestDbTestSelect.cs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using System.Threading.Tasks;
77
using FreeSql.DataAnnotations;
88
using FreeSql.Tests.QuestDb.QuestDbTestModel;
9-
using NetTopologySuite.Operation.Valid;
109
using Xunit;
1110
using static FreeSql.Tests.QuestDb.QuestDbTest;
1211

@@ -17,13 +16,13 @@ public class QuestDbTestSelect
1716
[Fact]
1817
public void TestNormal()
1918
{
20-
var sql = fsql.Select<QuestDb_Model_Test01>().ToSql();
19+
var sql = Db.Select<QuestDb_Model_Test01>().ToSql();
2120
Debug.WriteLine(sql);
2221
Assert.Equal(
2322
@"SELECT a.""Primarys"", a.""Id"", a.""NameUpdate"", a.""NameInsert"", a.""Activos"", a.""CreateTime"", a.""UpdateTime"", a.""IsCompra""
2423
FROM ""QuestDb_Model_Test01"" a", sql);
2524

26-
var sqlWhere = fsql.Select<QuestDb_Model_Test01>().Where(q =>
25+
var sqlWhere = Db.Select<QuestDb_Model_Test01>().Where(q =>
2726
q.UpdateTime.Value.BetweenEnd(DateTime.Parse("2023-02-17 09:35:00"),
2827
DateTime.Parse("2023-02-17 10:20:00"))).ToSql();
2928
Debug.WriteLine(sqlWhere);
@@ -41,7 +40,7 @@ public void TestNormal()
4140
public void TestPageAndCount(int page)
4241
{
4342
var pageSize = 5;
44-
var select = fsql.Select<QuestDb_Model_Test01>().Count(out var total).Page(page, pageSize);
43+
var select = Db.Select<QuestDb_Model_Test01>().Count(out var total).Page(page, pageSize);
4544
var sql = select.ToSql();
4645
Debug.WriteLine(sql);
4746
switch (page)
@@ -70,7 +69,7 @@ public void TestPageAndCount(int page)
7069
[Fact]
7170
public void TestNavigation()
7271
{
73-
var select = fsql.Select<Topic>()
72+
var select = Db.Select<Topic>()
7473
.LeftJoin(a => a.Category.Id == a.CategoryId)
7574
.LeftJoin(a => a.Category.Parent.Id == a.Category.ParentId)
7675
.Where(a => a.Category.Parent.Id > 0);
@@ -88,7 +87,7 @@ public void TestNavigation()
8887
[Fact]
8988
public void TestComplexJoin()
9089
{
91-
var select = fsql.Select<Topic, Category, CategoryType>()
90+
var select = Db.Select<Topic, Category, CategoryType>()
9291
.LeftJoin(w => w.t1.CategoryId == w.t2.Id)
9392
.LeftJoin(w => w.t2.ParentId == w.t3.Id)
9493
.Where(w => w.t3.Id > 0);
@@ -106,10 +105,10 @@ public void TestComplexJoin()
106105
[Fact]
107106
public void TestUnionAll()
108107
{
109-
var select = fsql.Select<QuestDb_Model_Test01>().Where(a => a.IsCompra == true)
108+
var select = Db.Select<QuestDb_Model_Test01>().Where(a => a.IsCompra == true)
110109
.UnionAll(
111-
fsql.Select<QuestDb_Model_Test01>().Where(a => a.IsCompra == true),
112-
fsql.Select<QuestDb_Model_Test01>().Where(a => a.IsCompra == true)
110+
Db.Select<QuestDb_Model_Test01>().Where(a => a.IsCompra == true),
111+
Db.Select<QuestDb_Model_Test01>().Where(a => a.IsCompra == true)
113112
)
114113
.Where(a => a.IsCompra == true);
115114
var sql = select.ToSql();
@@ -134,7 +133,7 @@ UNION ALL
134133
[Fact]
135134
public void TestSampleBy()
136135
{
137-
var selectSql = fsql.Select<QuestDb_Model_Test01>()
136+
var selectSql = Db.Select<QuestDb_Model_Test01>()
138137
.SampleBy(1, SampleUnit.day)
139138
.WithTempQuery(q => new { q.Id, q.Activos, count = SqlExt.Count(q.Id).ToValue() })
140139
.Where(q => q.Id != "1")
@@ -153,7 +152,7 @@ SAMPLE BY 1d
153152
[Fact]
154153
public void TestLatestOn()
155154
{
156-
var selectSql = fsql.Select<QuestDb_Model_Test01>()
155+
var selectSql = Db.Select<QuestDb_Model_Test01>()
157156
.LatestOn(q => q.CreateTime, q => new { q.Id, q.NameUpdate })
158157
.ToSql();
159158
Debug.WriteLine(selectSql);
@@ -168,7 +167,7 @@ public void TestLatestOn()
168167
public void TestGroup()
169168
{
170169
//QUEDTDB的GroupBy PostgrSql有所不同
171-
var selectSql = fsql.Select<QuestDb_Model_Test01>()
170+
var selectSql = Db.Select<QuestDb_Model_Test01>()
172171
.WithTempQuery(q => new { q.Id, q.Activos, count = SqlExt.Count(q.Id).ToValue() })
173172
.Where(q => q.Id != "1" && q.count > 1)
174173
.ToSql();

FreeSql.Tests/FreeSql.Tests/QuestDb/Crud/QuestDbTestUpdate.cs renamed to FreeSql.Tests/FreeSql.Tests.Provider.QuestDb/Crud/QuestDbTestUpdate.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class QuestDbTestUpdate
1818
public void TestNormalRestUpdate()
1919
{
2020
var updateTime = DateTime.Now;
21-
var updateObj = restFsql.Update<QuestDb_Model_Test01>()
21+
var updateObj = RestApiDb.Update<QuestDb_Model_Test01>()
2222
.Set(q => q.NameUpdate, "UpdateNow")
2323
// .Set(q => q.CreateTime, DateTime.Now) 分表的时间不可以随便改
2424
.Where(q => q.Id == "1");
@@ -38,7 +38,7 @@ public void TestRestUpdateByModel()
3838
{
3939
var primary = Guid.NewGuid().ToString();
4040
//先插入
41-
restFsql.Insert(new QuestDb_Model_Test01()
41+
RestApiDb.Insert(new QuestDb_Model_Test01()
4242
{
4343
Primarys = primary,
4444
CreateTime = DateTime.Now,
@@ -54,11 +54,11 @@ public void TestRestUpdateByModel()
5454
Id = primary,
5555
Activos = 12.65,
5656
};
57-
var updateObj = restFsql.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null);
57+
var updateObj = RestApiDb.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null);
5858
var sql = updateObj.ToSql();
5959
Debug.WriteLine(sql);
6060
var result = updateObj.ExecuteAffrows();
61-
var resultAsync = restFsql.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null)
61+
var resultAsync = RestApiDb.Update<QuestDb_Model_Test01>().SetSourceIgnore(updateModel, o => o == null)
6262
.ExecuteAffrows();
6363
Assert.True(result > 0);
6464
Assert.True(resultAsync > 0);
@@ -73,7 +73,7 @@ public async Task TestRestUpdateIgnoreColumnsAsync()
7373
var primary = Guid.NewGuid().ToString();
7474
var updateTime = DateTime.Now;
7575
//先插入
76-
restFsql.Insert(new QuestDb_Model_Test01()
76+
RestApiDb.Insert(new QuestDb_Model_Test01()
7777
{
7878
Primarys = primary,
7979
CreateTime = DateTime.Now,
@@ -90,12 +90,12 @@ public async Task TestRestUpdateIgnoreColumnsAsync()
9090
IsCompra = true,
9191
CreateTime = DateTime.Now
9292
};
93-
var updateObj = restFsql.Update<QuestDb_Model_Test01>().SetSource(updateModel)
93+
var updateObj = RestApiDb.Update<QuestDb_Model_Test01>().SetSource(updateModel)
9494
.IgnoreColumns(q => new { q.Id, q.CreateTime });
9595
var sql = updateObj.ToSql();
9696
Debug.WriteLine(sql);
9797
var result = updateObj.ExecuteAffrows();
98-
var resultAsync = await restFsql.Update<QuestDb_Model_Test01>().SetSource(updateModel)
98+
var resultAsync = await RestApiDb.Update<QuestDb_Model_Test01>().SetSource(updateModel)
9999
.IgnoreColumns(q => new { q.Id, q.CreateTime }).ExecuteAffrowsAsync();
100100
Assert.True(result > 0);
101101
Assert.True(resultAsync > 0);
@@ -108,7 +108,7 @@ public async Task TestRestUpdateIgnoreColumnsAsync()
108108
public async Task TestUpdateToUpdateAsync()
109109
{
110110
//官网demo有问题,暂时放弃此功能
111-
var result = await restFsql.Select<QuestDb_Model_Test01>().Where(q => q.Id == "IdAsync" && q.NameInsert == null)
111+
var result = await RestApiDb.Select<QuestDb_Model_Test01>().Where(q => q.Id == "IdAsync" && q.NameInsert == null)
112112
.ToUpdate()
113113
.Set(q => q.UpdateTime, DateTime.Now)
114114
.ExecuteAffrowsAsync();
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<IsPackable>false</IsPackable>
9+
<IsTestProject>true</IsTestProject>
10+
</PropertyGroup>
11+
12+
<ItemGroup>
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
14+
<PackageReference Include="xunit" Version="2.5.3" />
15+
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
16+
</ItemGroup>
17+
18+
<ItemGroup>
19+
<ProjectReference Include="..\..\Providers\FreeSql.Provider.QuestDb\FreeSql.Provider.QuestDb.csproj" />
20+
</ItemGroup>
21+
22+
<ItemGroup>
23+
<Using Include="Xunit" />
24+
</ItemGroup>
25+
26+
</Project>

FreeSql.Tests/FreeSql.Tests/QuestDb/QuestDbCodeFirstTest.cs renamed to FreeSql.Tests/FreeSql.Tests.Provider.QuestDb/QuestDbCodeFirstTest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ public class QuestDbCodeFirstTest
1616
[Fact]
1717
public void Test_SyncStructure()
1818
{
19-
fsql.CodeFirst.SyncStructure<QuestDb_Model_Test01>();
20-
fsql.CodeFirst.SyncStructure(typeof(Topic));
21-
fsql.CodeFirst.SyncStructure(typeof(Category));
22-
fsql.CodeFirst.SyncStructure(typeof(CategoryType));
19+
Db.CodeFirst.SyncStructure<QuestDb_Model_Test01>();
20+
Db.CodeFirst.SyncStructure(typeof(Topic));
21+
Db.CodeFirst.SyncStructure(typeof(Category));
22+
Db.CodeFirst.SyncStructure(typeof(CategoryType));
2323
}
2424

2525
[Fact]
2626
public void Test_SyncStructure_Type()
2727
{
28-
fsql.CodeFirst.SyncStructure<QuestDb_Model_Type01>();
29-
var result = fsql.Insert(new QuestDb_Model_Type01()
28+
Db.CodeFirst.SyncStructure<QuestDb_Model_Type01>();
29+
var result = Db.Insert(new QuestDb_Model_Type01()
3030
{
3131
TestBool = false,
3232
TestDecimal = (decimal?)153.02,

FreeSql.Tests/FreeSql.Tests/QuestDb/QuestDbDbFirstTest.cs renamed to FreeSql.Tests/FreeSql.Tests.Provider.QuestDb/QuestDbDbFirstTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ public class QuestDbDbFirstTest
1414
[Fact]
1515
public void Test_ExistsTable()
1616
{
17-
var existsTable = QuestDbTest.fsql.DbFirst.ExistsTable(nameof(QuestDb_Model_Test01));
17+
var existsTable = QuestDbTest.Db.DbFirst.ExistsTable(nameof(QuestDb_Model_Test01));
1818
}
1919

2020
[Fact]
2121
public void Test_GetTablesByDatabase()
2222
{
23-
var tablesByDatabase = QuestDbTest.fsql.DbFirst.GetTablesByDatabase("");
23+
var tablesByDatabase = QuestDbTest.Db.DbFirst.GetTablesByDatabase("");
2424
tablesByDatabase.ForEach(d =>
2525
{
2626
Debug.WriteLine(d.Name);

FreeSql.Tests/FreeSql.Tests/QuestDb/QuestDbIssue/QuestDbIssue.cs renamed to FreeSql.Tests/FreeSql.Tests.Provider.QuestDb/QuestDbIssue/QuestDbIssue.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ public class QuestDbIssue : QuestDbTest
1212
[Fact]
1313
public void Issue1757()
1414
{
15-
restFsql.CodeFirst.SyncStructure<Test0111>();
16-
var count = fsql.Insert(new List<Test0111>()
15+
RestApiDb.CodeFirst.SyncStructure<Test0111>();
16+
var count = Db.Insert(new List<Test0111>()
1717
{
1818
new()
1919
{
@@ -26,15 +26,15 @@ public void Issue1757()
2626

2727
Assert.True(count > 0);
2828

29-
var list = fsql.Select<Test0111>().ToList();
29+
var list = Db.Select<Test0111>().ToList();
3030
}
3131

3232

3333
[Fact]
3434
public void Issue1757Many()
3535
{
36-
restFsql.CodeFirst.SyncStructure<Test0111>();
37-
var count = fsql.Insert(new List<Test0111>()
36+
RestApiDb.CodeFirst.SyncStructure<Test0111>();
37+
var count = Db.Insert(new List<Test0111>()
3838
{
3939
new()
4040
{
@@ -61,7 +61,7 @@ public void Issue1757Many()
6161

6262
Assert.True(count > 0);
6363

64-
var list = fsql.Select<Test0111>().ToList();
64+
var list = Db.Select<Test0111>().ToList();
6565
}
6666
}
6767

0 commit comments

Comments
 (0)