Я думаю, это потому, что ваш AccessRepository использует другой контекст данных (дБ), чем тот, который находится в области (в опубликованном вами коде)
Вы можете попробовать использовать метод SaveChanges в вашем AccessRepository, который делает то же самое, но в правильном контексте данных.
Однако проблема с вызовом двух сохранений заключается в том, что вы теряете преимущества одной транзакции. Поэтому, если эти два обновления связаны, вам действительно нужно вызвать SaveChanges только один раз.
Я бы создал метод Add и метод Save в вашем AccessRepository, а затем использовал бы что-то вроде этого ...
AccessRepository rep = new AccessRepository();
rep.Add(details);
AccessDetails detailUpdate = rep.GetByID(item.AccessDetailsTableID);
detailUpdate.Imported = true;
rep.Save();//this calls SaveChanges on a single data context
надеюсь, что это поможет