我在一个控制器中有一个post方法,该方法将一些数据插入表中。当我在Web应用程序上执行与该post方法相对应的某些操作时,它显示的响应类型为 200 ,但是不幸的是,该表中未保存任何数据。我有一个类似的方法,可以很好地工作并将数据保存在其他表中,但是这种特殊的post方法存在问题。
我也在检查以下内容:
if (await _context.SaveChangesAsync()>0)
return true;
我真的没有在这里遇到问题。
下面是在验证后插入数据的函数:
public async Task<bool> AddToCartInBulk(List<EcomCart>
ecomCarts,List<TableName> ecomHoldLots, string status)
{
// Below is the code which adds the record
for( int i = 0 ;i < ecomCarts.Count; i++)
{
ecomCarts[i].Status = status;
await _context.TableName.AddAsync(ecomCarts[i]);
}
// this is for other reason(not relevant to the issue)
if(ecomHoldLots.Count > 0 && status == "Approved"){
for(int i = 0 ; i < ecomHoldLots.Count;i++)
{
_context.Remove(ecomHoldLots[i]);
}
}
if (await _context.SaveChangesAsync()>0)
return true;
return false;
}
下面是调用上述插入函数的post方法代码:
.......
........
var addtocartLotFromMapper = _mapper.Map<List<EcomCart>>(newList);
var addtocartLotDone = await _repo.AddToCartInBulk(addtocartLotFromMapper, ecomHoldLots, AddToCartByUserDto[0].Status);
return Ok();
注意:当我在本地运行时,此方法非常完美。还有一个窗口服务,该服务检查此表并根据某些情况进行记录。我认为这阻止了插入。但是以前它可以正常工作。
答案 0 :(得分:0)
好吧,问题在于,每隔3秒就有一个Windows服务运行,该服务会在表中查找数据并进行更新。我认为这有点锁定它,我将时间更改为10秒。谢谢大家的建议。