public void Crawl() { var newsPages = _newsPages .Where(x => x.VideoLink != null) .Where(x => x.Video == null).ToArray(); foreach (var newsPage in newsPages) { try { if (newsPage.Video != null) { return; } var id = YouTubeVideo.ParseId(newsPage.VideoLink); var video = _videos.FirstOrDefault(x => x.ExternalId == id); newsPage.Video = video ?? _youTubeProvider.Get(id); } catch (Exception e) { Trace.TraceError(e.Message); } _unitOfWork.SaveChanges(); } }