你好,
我正在尝试按照以下服务方法更新数据库表:
这是通用仓库更新和GetGamesAsync:
如果查询中有几个记录(gameBankResult)没问题,则更新非常快。但是,如果有2000条记录,则需要2分钟。顺便说一句,gameBankResult中总是有1个结果,假设是业务规则。可能是什么问题?
最好的祝福。
我正在尝试按照以下服务方法更新数据库表:
C#:
//Query GameBank database
var gameBankResult = await _unitOfWork.GameBankRepository.GetGamesAsync(g =>
g.productCode == requestDto.productCode && g.referenceId == Guid.Empty);
if (gameBankResult.Count() >= requestDto.quantity)
{
var k = requestDto.quantity - 1;
for (var i = k; i >= 0; --i)
{
gameBankResult[i].referenceId = gameRequest.referenceId;
gameBankResult[i].requestDateTime = DateTime.Now;
gameBankResult[i].responseDateTime = DateTime.Now;
}
//Update GameBank
_unitOfWork.GameBankRepository.Update(gameBankResult[k]);
这是通用仓库更新和GetGamesAsync:
C#:
public virtual void Update(TEntity entityToUpdate)
{
dbSet.Attach(entityToUpdate);
context.Entry(entityToUpdate).State = EntityState.Modified;
}
C#:
public virtual async Task<List<TEntity>> GetGamesAsync(
Expression<Func<TEntity, bool>> where)
{
return await dbSet.Where(where).ToListAsync();
}
如果查询中有几个记录(gameBankResult)没问题,则更新非常快。但是,如果有2000条记录,则需要2分钟。顺便说一句,gameBankResult中总是有1个结果,假设是业务规则。可能是什么问题?
最好的祝福。
由主持人最后编辑: