Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;基础提供程序在打开时失败";SaveChanges()上的长事务出错_C#_Entity Framework - Fatal编程技术网

C# &引用;基础提供程序在打开时失败";SaveChanges()上的长事务出错

C# &引用;基础提供程序在打开时失败";SaveChanges()上的长事务出错,c#,entity-framework,C#,Entity Framework,在使用entityframework的长时间事务中,我遇到以下错误: (事务在较短的事务中正常工作) 代码如下: using (var scope = new TransactionScope()) { try { db.Database.ExecuteSqlCommand("DELETE FROM AJE_MAPEO_FAMILIAS"); foreach (AJE_MAPEO_FAMILIAS aje_mapeo_familias i

在使用entityframework的长时间事务中,我遇到以下错误: (事务在较短的事务中正常工作)

代码如下:

using (var scope = new TransactionScope()) 
{ 
    try 
    { 
        db.Database.ExecuteSqlCommand("DELETE FROM AJE_MAPEO_FAMILIAS");

        foreach (AJE_MAPEO_FAMILIAS aje_mapeo_familias in listaMapeos)
        {
            db.AJE_MAPEO_FAMILIAS.Add(aje_mapeo_familias);
        }
        db.SaveChanges();

        scope.Complete();
   }
   catch (Exception)
   {
      throw; 
   }
} 

有什么想法吗?

分区数据库添加操作。因此,如果您的
aje_mapeo_familias
包含10000条要添加的记录,请将该列表拆分为10个等长的1000条列表,并每1000次操作保存一次更改。我尝试了这一点,但在某些部分保存更改后,我得到了相同的错误是否存在内部异常?听起来好像您正在超时,在这种情况下,您可以在这里查看:内部预期是:InnerException={“该操作对于事务的状态无效。”}我已经尝试过:((IObjectContextAdapter)db)。ObjectContext.CommandTimeout=600;但我也犯了同样的错误
using (var scope = new TransactionScope()) 
{ 
    try 
    { 
        db.Database.ExecuteSqlCommand("DELETE FROM AJE_MAPEO_FAMILIAS");

        foreach (AJE_MAPEO_FAMILIAS aje_mapeo_familias in listaMapeos)
        {
            db.AJE_MAPEO_FAMILIAS.Add(aje_mapeo_familias);
        }
        db.SaveChanges();

        scope.Complete();
   }
   catch (Exception)
   {
      throw; 
   }
}