插入/更新/删除
Datory 使用 Repository 數據倉庫的(de) InsertAsync 方法插入數據,使用 UpdateAsync 方法更新數據,使用 DeleteAsync 方法删除數據。
插入數據
public async Task<int> InsertAsync(DataModel dataModel)
{
var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
return await repository.InsertAsync(dataModel);
}
1
2
3
4
5
2
3
4
5
以(yǐ)上(shàng)代碼插入數據并返回新數據的(de) Id 自增長字段值。
更新數據
public async Task<bool> UpdateAsync(DataModel dataModel)
{
var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
return await repository.UpdateAsync(dataModel);
}
1
2
3
4
5
2
3
4
5
以(yǐ)上(shàng)代碼更新數據并返回布爾值,用于(yú)指示是(shì)否更新成功。
除了(le/liǎo)對整條數據進行更新,我們也(yě)可以(yǐ)隻更新指定字段的(de)值:
var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
await repository.UpdateAsync(Q
.Set("Title", "新标題")
.Set("Count", 100)
.Where("Id", 100)
);
1
2
3
4
5
6
2
3
4
5
6
以(yǐ)上(shàng)代碼将更新 Id 爲(wéi / wèi)100數據行的(de) Title 以(yǐ)及 Count 字段的(de)值。
删除數據
通過傳遞 Id 字段的(de)值,我們可以(yǐ)删除指定數據:
await repository.DeleteAsync(100);
1
我們也(yě)可以(yǐ)使用 Query 對象,指定需要(yào / yāo)删除的(de)數據:
var query = Q.Where("CreatedDate", "<", DateTime.Now.AddDays(-1));
await repository.DeleteAsync(query);
1
2
2
如果我們希望清除表内的(de)所有數據,我們可以(yǐ)不(bù)傳參數:
public async Task DeleteAllAsync()
{
await repository.DeleteAsync();
}
1
2
3
4
2
3
4