private void ResolveSubPagesForWebPage(WebPage webPage) { var linkedWebPages = GetLinksFromWebPage(webPage) .GetWorkingLinks() .GetNewLinks() .CreateWebPagesFromLinks() .ToList(); if (!linkedWebPages.Any()) { return; } var webPageToLinkedWebPagesConnections = webPage.CreateConnections(linkedWebPages).GetNewConnections(); using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create()) { unitOfWork.WebPages.Get(webPage.Id); //EF requires this unitOfWork.WebPages.AddBulk(linkedWebPages); unitOfWork.WebPagesConnections.AddBulk(webPageToLinkedWebPagesConnections); unitOfWork.Save(); } }