public virtual void UpdateValue(int id, string value) { var setting = _settingRepository.GetById(id); setting.Value = value; _settingRepository.Attach(setting); setting.Value = value; _settingRepository.SaveChanges(); _settingRepository.InvalidateCache(); //find a smart way not to load all the settings again }