我正在使用EF7(EF核心)。 当我试图更新数据库的项目,如这一个方法...实体框架7(核心):DataReader必须关闭异常
using (var db = new DBContext())
{
var deadSources =
await
db.Source.Where(x => !x.Item.Any())
.ToListAsync();
foreach (var srs in deadSources)
{
srs.InspectionFailed = true;
srs.InspectionFailedDescription = "ERROR";
}
await db.SaveChangesAsync();
}
using (var db = new DBContext())
{
var aliveSources =
await
db.Source.Where(x => x.Item.Any())
.ToListAsync();
foreach (var srs in aliveSources)
{
srs.InspectionFailed = false;
srs.InspectionFailedDescription = string.Empty;
}
await db.SaveChangesAsync(); // Exception here
}
...这将引发异常:
已经有与此命令相关的开放其中的DataReader必须先关闭 。
我该如何避免这种情况?每个数据库请求有两种不同的上下文,所以我不明白为什么会发生这种情况。
此代码是单个使用语句,引发异常。这就是为什么我分开它。但没有运气。 – AsValeO