反向poco c#批量插入实体框架“对象引用未设置为对象的实例”

时间:2019-02-26 16:57:51

标签: c# entity-framework bulkinsert

奇怪的情况:我使用以下代码遇到批量插入失败。奇怪的是,如果我将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)

1 个答案:

答案 0 :(得分:0)

Fakhar Ahmad Rasul在评论中发布了解决方案。事实证明,dbcontext名称必须与连接字符串名称相同。谢谢Fakhar!我希望我能给你点积分。