Sql 运行EFProfiler的EFUtilities

Sql 运行EFProfiler的EFUtilities,sql,entity-framework-6,Sql,Entity Framework 6,我想知道是否有一种方法可以在运行EFProfiler的同时运行EFUtilities 我很感激分析器不会显示大容量插入,因为它是在DBContext的范围之外完成的。目前,我无法运行批处理作业,因为探查器已包装连接。它在未启用时运行正常 因此,我得到的例外是: “System.InvalidOperationException”类型的第一次意外异常 在EntityFramework.Utilities.dll中发生 其他信息:没有支持InsertAll操作的提供程序 已找到此数据源的 内部异常为

我想知道是否有一种方法可以在运行EFProfiler的同时运行EFUtilities

我很感激分析器不会显示大容量插入,因为它是在DBContext的范围之外完成的。目前,我无法运行批处理作业,因为探查器已包装连接。它在未启用时运行正常

因此,我得到的例外是:

“System.InvalidOperationException”类型的第一次意外异常 在EntityFramework.Utilities.dll中发生

其他信息:没有支持InsertAll操作的提供程序 已找到此数据源的


内部异常为null。

这是因为EFUtilities会自动找到正确的提供程序。但是当连接被包装时,这就不再可能了

InsertAll看起来像这样

public void InsertAll<TEntity>(IEnumerable<TEntity> items, DbConnection connection = null, int? batchSize = null)

现在,也许您正在做更多的工作,希望两个部分在同一事务下运行。在这种情况下,您可以将该代码块包装在TransactionScope中。

您可以发布您收到的异常吗?我没有EFProfiler,但如果它与连接有关,我可以给你一个解决方案。如果他们阻止了其他部分,可能会更困难。根据请求添加了更多详细信息。我错过了可以传递自己的连接字符串的参数。谢谢。
        using (var db = new YourContext())
        using (var con = new SqlConnection(YourConnectionString))
        {
            EFBatchOperation.For(db, db.PartialTestClass1).InsertAll(partials, con);
        }