如何清除"数据上下文

时间:2018-02-22 18:05:26

标签: entity-framework entity-framework-6 datacontext

我的一些脚本从外部资源更新本地数据,获取部分数据,更新然后获取下一部分数据...我的更新代码是:

album_album_image

好的,如果数据有效,它就有效。有时数据可能无效并且会引发异常。我需要传递这部分数据并尝试下一步。但是当我尝试使用下一部分数据(有效数据)时,它会再次抛出相同的异常。 我尝试通过以下方式清除未更改的记录:

    public void UpdateDrivers(List<Domain.POCO.Vistracks.VistrackDriverInfoDomain> list)
    {
        foreach (var model in list)
        {
            var driver = (from i in _db.Drivers
                          where i.AspNetUser.UserName.Equals(model.Email, StringComparison.InvariantCultureIgnoreCase)
                          select i).FirstOrDefault();

            driver = mapper.Map<VistrackDriverInfoDomain, Infrastructure.Asset.Driver>(model, driver);
            driver.IsVistracksAdded = true;
            driver.VistracksDateSync = DateTime.Now;
        }
        _db.SaveChanges();
    }

但它没有帮助。怎么做?

1 个答案:

答案 0 :(得分:0)

我按照以下方式制作:

var changes = _db.ChangeTracker.Entries().Where(x => x.State != EntityState.Unchanged).ToList();
foreach (var entity in changes)
{
     _db.Entry(entity.Entity).State = EntityState.Detached;
}