间歇使用BulkInsert导致超时(无论超时设置为什么)

时间:2019-07-11 13:30:03

标签: c# entity-framework-core

我有一段代码要删除,然后在表中重新插入许多记录(大约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在执行时隐式提交。我很想知道为什么会发生这种情况-请问有人可以提供任何指示吗?

0 个答案:

没有答案