數據查詢

Datory 使用 Repository 數據倉庫的 GetAsync 方法獲取單條數據,使用 GetAllAsync 方法獲取列表數據,使用 ExistsAsync 判斷數據是否存在。

獲取單條數據

Repository 數據倉庫的 GetAsync 方法用于獲取單條數據,傳參可以爲數字、字符串或者 Query 對(duì)象,分别代表通過(guò) Id 字段、通過(guò) Guid 字段、通過(guò) Query 對(duì)象獲取單條數據。

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

以上代碼將(jiāng)獲取 Id 爲 10 的單條數據。

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

以上代碼構造 Query 對(duì)象,設置查詢條件以及排序規則并返回符合條件的第一條數據。

GetAsync 方法也可以不傳參數,系統將(jiāng)返回第一條數據。

如果未找到适合條件的數據,GetAsync 方法將(jiāng)返回 null 空對(duì)象。

獲取列表數據

Repository 數據倉庫的 GetAllAsync 方法用于獲取數據列表,可以通過(guò) Query 對(duì)象參數設置查詢條件,如果不傳參將(jiāng)返回全部數據列表。

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

以上代碼構造 Query 對(duì)象,設置查詢條件以及排序規則并返回符合條件數據列表,返回的數據列表將(jiāng)按照 Query 對(duì)象中設置的排序規則排序。

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

以上代碼將(jiāng)返回所有數據的列表

判斷數據是否存在

Repository 數據倉庫的 ExistsAsync 方法用于判斷數據是否存在,傳參可以爲數字、字符串或者 Query 對(duì)象,分别代表通過(guò) Id 字段、通過(guò) Guid 字段、通過(guò) Query 對(duì)象查詢數據是否存在。

ExistsAsync 方法也可以不傳參數,用于判斷表中是否存在數據。

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

以上代碼構造 Query 對(duì)象,設置查詢條件,如果存在返回 True,否則返回 False。