在特定的业务案例流程中,我需要立即删除通过SqlBulkCopy
插入的记录。该代码在大多数情况下都可以正常工作,但是我看到的是,有时删除过程无法找到那些记录,并且数据也不会被删除。 WriteToServer
方法是否有可能在没有完成记录插入的情况下将控制执行返回到下一行?
这是我的代码:
// Insert
using (var bulkCopy = new SqlBulkCopy(strConnectionString))
{
bulkCopy.BatchSize = 5000;
bulkCopy.DestinationTableName = tableName;
bulkCopy.WriteToServer(dataTable)
}
// Few business case conditions
// Delete - Get Ids and pass as table param to the proc
using (var context = _dataContextFactory.CreateContext())
{
var tableParam = new SqlParameter
{
ParameterName = "@Ids",
Value = data,
};
context.ExecuteSqlCommand("[uspDeleteData]",tableParam);
}
如果是这种情况,有人可以建议我如何立即删除这些记录。