对数据库操作时内置的方法
1. Contains 确定wenJianID集合元素是否在id集合中。
例子:查询出List<string> wenJianID中所有的数据,list的集合中只有一个字段id
public async Task<List<WenJianXX>> GetListByWJIDList(List<string> wenJianID)
{
return await _devDbContext.WenJianXXes.Where(item => item.ZUOFEIBZ == 0 && wenJianID.Contains(item.ID)).ToListAsync();
}
2. FromSql 执行sql语句。命名空间:Microsoft.EntityFrameworkCore ,OracleParameter是替换sql语句中:ChuangJianR的方法 命名空间:Oracle.ManagedDataAccess.Client
public async Task<List<WenJianXX>> GetLBWenJianList(string tianJiaRID, int wenJianLB, string bingQuDM)
{
string strSql = "select ID, WENJIANLB, SUOSHUID, WENJIANLX, WENJIANMC, WENJIANDX, SHANGCHUANSJ, ZUOFEIBZ, LEVELID, SUOSHUMC, SUOZAIML, BINGQUDM, BINGQUMC, WENJIANML,HOUZHUILX from DMT_WENJIANXX where ZUOFEIBZ=0";
if (wenJianLB == 3)
{
strSql += " and ((WENJIANLB=3) or (WENJIANLB=1 and SUOSHUID=:ChuangJianR))";
return await _devDbContext.WenJianXXes.FromSql(strSql, new[] { new OracleParameter(":ChuangJianR", tianJiaRID) }).ToListAsync();
}
else
{
strSql += " and ((WENJIANLB=2 and BINGQUDM=:BingQuDM ) or (WENJIANLB=1 and SUOSHUID=:ChuangJianR))";
return await _devDbContext.WenJianXXes.FromSql(strSql, new[] { new OracleParameter(":BingQuDM", bingQuDM), new OracleParameter(":ChuangJianR", tianJiaRID) }).ToListAsync();
}
}
3. ContinueWith 返回异步集合执行的延续。使用场景:new List<Task>()用作异步任务 和new List<ListDto>()用作执行查询,都需要获取异步返回的结果时
WhenAll 执行异步任务。使用场景:后面的操作需要异步任务返回的结果时使用~~~
例子:
var tasks = new List<Task>(); 用作异步任务
var shouShuXXList = new List<ShouShuXXListDto>();用作后面的查询使用
bingQuDMs.ToList().ForEach(t => {
//初始化
tasks.Add(_shouShuXXService.GetShouShuXXList(t).ContinueWith(async p => {
shouShuXXList.AddRange(await p);ContinueWith是异步的延续操作,添加异步任务的同时把返回的结果添加到shouShuXXList中
}));
}));
});
await Task.WhenAll(tasks);等待异步执行完成返回结果时再去执行下面的操作
·······
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix