# 插入/更新/删除

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);
}

以上代码插入数据并返回新数据的 Id 自增长字段值。

# 更新数据

public async Task<bool> UpdateAsync(DataModel dataModel)
{
    var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
    return await repository.UpdateAsync(dataModel);
}

以上代码更新数据并返回布尔值,用于指示是否更新成功。

除了对整条数据进行更新,我们也可以只更新指定字段的值:

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);
await repository.UpdateAsync(Q
    .Set("Title", "新标题")
    .Set("Count", 100)
    .Where("Id", 100)
);

以上代码将更新 Id 为100数据行的 Title 以及 Count 字段的值。

# 删除数据

通过传递 Id 字段的值,我们可以删除指定数据:

await repository.DeleteAsync(100);

我们也可以使用 Query 对象,指定需要删除的数据:

var query = Q.Where("CreatedDate", "<", DateTime.Now.AddDays(-1));
await repository.DeleteAsync(query);

如果我们希望清除表内的所有数据,我们可以不传参数:

public async Task DeleteAllAsync()
{
    await repository.DeleteAsync();
}
上次更新: 2021/10/18 下午9:03:07