我写了以下一段代码:
public void BulkUpdateItems(List<Items> items)
{
var bulk = new BulkOperations();
using (var trans = new TransactionScope())
{
using (SqlConnection conn = new SqlConnection(@"connstring"))
{
bulk.Setup()
.ForCollection(items)
.WithTable("Items")
.AddColumn(x => x.QuantitySold)
.BulkUpdate()
.MatchTargetOn(x => x.ItemID)
.Commit(conn);
}
trans.Complete();
}
}
使用 SQLBulkTools 库...但是这里的问题是当我一次从多个线程运行此过程时,我在死锁上运行...
并且错误表明某个进程 ID 已死锁或类似的情况......
有没有其他方法可以有效地从多个线程批量更新 1 个表?
有人可以帮我吗?