public async Task Sync() { List <Vm> vms = new List <Vm>(); Microsoft.EntityFrameworkCore.Query.IIncludableQueryable <Adapter, Credentials> adapters = _context.Adapters.Where(x => x.IsOK).Include(x => x.Provider).Include(a => a.Credentials); foreach (Adapter adapter in adapters) { if (!adapter.IsOK) { break; } switch (adapter.Provider.Name.ToLower()) { case "ovirt": ServicesResponse servicesResponse = await VmService.GetFullVms(adapter); if (!servicesResponse.isSuccess) { break; } List <Vm> commonVMs = (List <Vm>)servicesResponse.resultObject; vms.AddRange(commonVMs); break; } } var oldVms = await _context.Vms.ToListAsync(); _context.Vms.RemoveRange(oldVms); vms.ConvertAll(x => x.LastTimeUpdated = DateTime.Now); _context.Vms.AddRange(vms); //foreach (var vm in vms) //{ // var entity = _context.Vms.Find(vm.Id); // if (entity == null) // { // _context.Vms.Add(vm); // } // else // { // _context.Entry(entity).CurrentValues.SetValues(vm); // } //} await _context.SaveChangesAsync(); }