C# &引用;基础提供程序在打开时失败";SaveChanges()上的长事务出错
在使用entityframework的长时间事务中,我遇到以下错误: (事务在较短的事务中正常工作) 代码如下: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
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;
}
}