數據查詢

Datory 使用 Repository 數據倉庫的(de) GetAsync 方法獲取單條數據,使用 GetAllAsync 方法獲取列表數據,使用 ExistsAsync 判斷數據是(shì)否存在(zài)。

獲取單條數據

Repository 數據倉庫的(de) GetAsync 方法用于(yú)獲取單條數據,傳參可以(yǐ)爲(wéi / wèi)數字、字符串或者 Query 對象,分别代表通過 Id 字段、通過 Guid 字段、通過 Query 對象獲取單條數據。

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
var dataModel = await repository.GetAsync(10);
1
2

以(yǐ)上(shàng)代碼将獲取 Id 爲(wéi / wèi) 10 的(de)單條數據。

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
var dataModel = await repository.GetAsync(Q
  .Where("SiteId", 1)
  .OrderByDesc("Taxis")
);
1
2
3
4
5

以(yǐ)上(shàng)代碼構造 Query 對象,設置查詢條件以(yǐ)及排序規則并返回符合條件的(de)第一(yī / yì /yí)條數據。

GetAsync 方法也(yě)可以(yǐ)不(bù)傳參數,系統将返回第一(yī / yì /yí)條數據。

如果未找到(dào)适合條件的(de)數據,GetAsync 方法将返回 null 空對象。

獲取列表數據

Repository 數據倉庫的(de) GetAllAsync 方法用于(yú)獲取數據列表,可以(yǐ)通過 Query 對象參數設置查詢條件,如果不(bù)傳參将返回全部數據列表。

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
var list = await _repository.GetAllAsync(Q
    .Where("SiteId", 1)
    .WhereNotNull("TagName")
    .OrderByDesc("UseNum")
);
1
2
3
4
5
6

以(yǐ)上(shàng)代碼構造 Query 對象,設置查詢條件以(yǐ)及排序規則并返回符合條件數據列表,返回的(de)數據列表将按照 Query 對象中設置的(de)排序規則排序。

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
var list = await _repository.GetAllAsync();
1
2

以(yǐ)上(shàng)代碼将返回所有數據的(de)列表

判斷數據是(shì)否存在(zài)

Repository 數據倉庫的(de) ExistsAsync 方法用于(yú)判斷數據是(shì)否存在(zài),傳參可以(yǐ)爲(wéi / wèi)數字、字符串或者 Query 對象,分别代表通過 Id 字段、通過 Guid 字段、通過 Query 對象查詢數據是(shì)否存在(zài)。

ExistsAsync 方法也(yě)可以(yǐ)不(bù)傳參數,用于(yú)判斷表中是(shì)否存在(zài)數據。

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
var exists = await _repository.ExistsAsync("Title", "名稱");
1
2

以(yǐ)上(shàng)代碼構造 Query 對象,設置查詢條件,如果存在(zài)返回 True,否則返回 False。