奇怪的情况:我使用以下代码遇到批量插入失败。奇怪的是,如果我将DbContext
名称设置为特定名称,它会起作用,但是如果我更改它,它将失败。
没有什么不同,如果我编辑反向poco tt文件,并将DbContext
名称更改为特定名称并保存(重新创建Entity Framework文件),则它可以工作。如果我做同样的事情但以任何方式进行更改,则当代码到达bulkinsert()
行时,它将失败。
对我来说这绝对没有意义。我无法将其设置为工作中的一个,因为该工作中的一个已在同一项目中使用(我在一个新项目中对此进行了测试,只是试图找出问题所在。)
using (var transactionScope = new TransactionScope())
{
db.BulkInsert(recordsToInsert);
db.SaveChanges();
transactionScope.Complete();
}
有什么想法吗?我知道这与表或字段无关,因为它只能与一个dbcontextname
一起使用,而不能与其他任何一个一起使用。
编辑:此外,异常堆栈跟踪显示它在此处失败:
at EntityFramework.BulkInsert.ProviderFactory.Get(DbContext context)
答案 0 :(得分:0)
Fakhar Ahmad Rasul在评论中发布了解决方案。事实证明,dbcontext名称必须与连接字符串名称相同。谢谢Fakhar!我希望我能给你点积分。