数据库执行功能(DataBaseVisitor)接口简介
RPA执行工具(IAgent)接口简介
这个工具类提供了数据库操作的基本方法。
此文档将提供以下功能接口说明:
根据单个ID查找数据库数据
根据多个ID查找数据库数据
查找符合条件的第一条数据
查找符合条件的所有数据
插入单条数据
批量插入数据
更新单条数据
批量更新数据
根据单个ID删除数据
根据多个ID批量删除数据
删除数据
批量删除数据
根据单个ID查找数据库数据
根据单个ID查找数据库数据
接口
async Task<T> Fetch<T>(int id, bool excludeRemoved = false) where T : IDataModel, new();
参数
id:单个主键id
excludeRemoved(可选):默认为false。数据库中存在一个对于当前运行脚本的状态字段,分别是待处理、处理中、处理完成、移除四种状态。excludeRemoved为true 时,不会查询出标记为移除状态的数据;excludeRemoved为false时,会查询出标记为移除的数据;
用法
// 主键id值
int RqInfoId = 1;
// 查找实体类RqInfo对应的数据表中主键RqInfoId为1的数据
var rqInfos = await this.DataBaseVisitor.Fetch<RqInfo>(RqInfoId);
根据多个ID查找数据库数据
根据多个ID查找数据库数据
接口
async Task<IDictionary<int, T>> Fetch<T>(IEnumerable<int> ids, bool excludeRemoved = false) where T : IDataModel, new();
参数
ids:多个主键id
excludeRemoved(可选):默认为false。数据库中存在一个对于当前运行脚本的状态字段,分别是待处理、处理中、处理完成、移除四种状态。excludeRemoved为true 时,不会查询出标记为移除状态的数据;excludeRemoved为false时,会查询出标记为移除的数据;
用法
List<RqDetail> idList = new();
idList.Add(1);
idList.Add(2);
// 查找实体类RqInfo对应的数据表中主键RqInfoId为1和2的数据
var rqInfos = await this.DataBaseVisitor.Fetch<RqInfo>(idList);
查找符合条件的第一条数据
查找符合条件的第一条数据
接口
async Task<T> FetchFirst<T>(JObject queryParams, bool excludeRemoved = false) where T:IDataModel, new();
参数
queryParams:查询参数
excludeRemoved(可选):默认为false。数据库中存在一个对于当前运行脚本的状态字段,分别是待处理、处理中、处理完成、移除四种状态。excludeRemoved为true 时,不会查询出标记为移除状态的数据;excludeRemoved为false时,会查询出标记为移除的数据;
用法
await this.DataBaseVisitor.FetchFirst<EnumData>(queryParams);
查找符合条件的所有数据
查找符合条件的所有数据
接口
async Task<List<T>> Fetch<T>(JObject queryParams, bool excludeRemoved = false) where T : IDataModel, new();
参数
queryParams:查询参数
excludeRemoved(可选):默认为false。数据库中存在一个对于当前运行脚本的状态字段,分别是待处理、处理中、处理完成、移除四种状态。excludeRemoved为true 时,不会查询出标记为移除状态的数据;excludeRemoved为false时,会查询出标记为移除的数据;
用法
await this.DataBaseVisitor.FetchFirst<EnumData>(queryParams);
插入单条数据
插入单条数据
接口
async Task Insert<T>(T model) where T : IDataModel, new();
参数
model:实体对象
用法
// RqDetail为实体类,rqDetail为该实体类对象;
RqDetail rqDetail = new RqDetail();
......
// 插入单个对象成功后,会自动将对象数据库中的ID填充在这个对象身上;
await this.DataBaseVisitor.Insert<RqDetail>(rqDetail);
批量插入数据
批量插入数据
接口
async Task<IEnumerable<int>> Insert<T>(IEnumerable<T> models) where T : IDataModel, new();
参数
models:多个实体对象
用法
// RqDetail为实体类,rqDetail1、rqDetail2为该实体类对象;
RqDetail rqDetail1 = new RqDetail();
RqDetail rqDetail2 = new RqDetail();
......
List<RqDetail> insertList = new();
insertList.Add(rqDetail1);
insertList.Add(rqDetail2);
// 插入多个对象,不会自动将数据ID字段填充在数据身上, 而是返回所有插入的数据id信息;
await this.DataBaseVisitor.Insert<RqDetail>(insertList);
更新单条数据
更新单条数据
接口
async Task Update<T>(T model) where T : IDataModel, new();
参数
model:实体对象
用法
// RqDetail为实体类,rqDetail为该实体类对象;
RqDetail rqDetail = new RqDetai();
......
await this.DataBaseVisitor.Update<RqDetail>(rqDetail);
批量更新数据
批量更新数据
接口
async Task Update<T>(IEnumerable<T> models) where T : IDataModel, new();
参数
models:多个实体对象
用法
// RqDetail为实体类,rqDetail1、rqDetail2为该实体类对象;
RqDetail rqDetail1 = new RqDetail();
RqDetail rqDetail2 = new RqDetail();
......
List<RqDetail> insertList = new();
insertList.Add(rqDetail1);
insertList.Add(rqDetail2);
// 批量更新
await this.DataBaseVisitor.Update<RqDetail>(insertList);
根据单个ID删除数据
根据单个ID删除数据
接口
async Task Remove<T>(int id) where T : IDataModel, new();
参数
id:主键id
用法
// 数据的主键id值
int RqInfoId = 1;
// 删除实体类RqInfo对应的数据表中id为1的数据
await this.DataBaseVisitor.Remove<RqInfo>(id)
根据多个ID批量删除数据
根据多个ID批量删除数据
接口
async Task Remove<T>(IEnumerable<int> ids) where T : IDataModel, new();
参数
ids:多个主键id
用法
List<int> idlist = new List<int> { 1, 2, 3, 4, 5};
// 删除实体类RqInfo对应的数据表中id为1、2、3、4、5的数据
await this.DataBaseVisitor.Remove<RqInfo>(idlist)
删除单条数据
删除单条数据
接口
async Task Remove<T>(T model) where T : IDataModel, new();
参数
model:实体对象
用法
// RqDetail为实体类,rqDetail为该实体类对象;
RqDetail rqDetail = new RqDetail();
......
await this.DataBaseVisitor.Remove<RqInfo>(rqDetail)
批量删除数据
批量删除数据
接口
async Task Remove<T>(IEnumerable<T> models) where T : IDataModel, new();
参数
models:多个实体对象
用法
// RqDetail为实体类,rqDetail1、rqDetail2为该实体类对象;
RqDetail rqDetail1 = new RqDetail();
RqDetail rqDetail2 = new RqDetail();
......
List<RqDetail> insertList = new();
insertList.Add(rqDetail1);
insertList.Add(rqDetail2);
// 批量删除
await this.DataBaseVisitor.Remove<RqDetail>(insertList);