插入/更新/删除
Datory 使用 Repository 数据仓库的 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
以上代码插入数据并返回新数据的 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
以上代码更新数据并返回布尔值,用于指示是否更新成功。
除了对整条数据进行更新,我们也可以只更新指定字段的值:
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
以上代码将更新 Id 为100数据行的 Title 以及 Count 字段的值。
删除数据
通过传递 Id 字段的值,我们可以删除指定数据:
await repository.DeleteAsync(100);
1
我们也可以使用 Query 对象,指定需要删除的数据:
var query = Q.Where("CreatedDate", "<", DateTime.Now.AddDays(-1));
await repository.DeleteAsync(query);
1
2
2
如果我们希望清除表内的所有数据,我们可以不传参数:
public async Task DeleteAllAsync()
{
await repository.DeleteAsync();
}
1
2
3
4
2
3
4
