【发布时间】:2018-02-22 18:05:25
【问题描述】:
我的一些脚本从外部资源更新本地数据,获取部分数据,更新再获取下一部分数据……我的更新代码是:
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();
}
好的,如果数据有效,它就可以工作。有时数据可能无效并引发异常。我需要传递这部分数据并尝试下一个。但是当我尝试使用下一部分数据(有效数据)时,它再次抛出相同的异常。 我尝试通过以下方式清除未更改的记录:
_db.ChangeTracker.Entries().Where(x => x.State != EntityState.Unchanged).ToList().Clear();
但这无济于事。怎么做?
【问题讨论】:
标签: entity-framework entity-framework-6 datacontext