我有一段代码要删除,然后在表中重新插入许多记录(大约60-100)。的代码是:
var locationData = context.Locations.Select(x => FillLocations(x)).ToList();
var myData = context.MyData.Where(x => x.Key == myKey);
await myData.BatchDeleteAsync();
var newData = locationData.Select(x => new MyData
{
Key = myKey,
Address = x.Address,
Coordinates = x.Coordinates
Location = x
}).ToList();
context.BulkInsert(newData);
在VS中本地运行代码时出现超时。但是,我不能始终如一地得到它,而且如果我单步执行代码,就永远不会得到它。
我的想法是,也许在数据库级别存在某种形式的锁定问题,但是据我了解,BatchDeleteAsync
在执行时隐式提交。我很想知道为什么会发生这种情况-请问有人可以提供任何指示吗?