public void Load() { using (var context = new GraphEntities()) { context.AdjacentNodes.RemoveRange(context.AdjacentNodes); context.Nodes.RemoveRange(context.Nodes); context.SaveChanges(); context.Nodes.AddRange(GetNodes()); context.SaveChanges(); } }
/// <summary> /// Method that extracts pages and links from WebGraph files /// </summary> /// <param name="grapheEntity">Determines whether it is about pages or links</param> /// <param name="fileName"> the suggested file to extract data from</param> public void ExtractDataFromWebGraph(GraphEntities grapheEntity, string fileName) { using (Stream reader = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { if (grapheEntity == GraphEntities.Pages) { var pagesSerializer = new XmlSerializer(typeof(List <Page>)); _pages = (List <Page>)pagesSerializer.Deserialize(reader); } else if (grapheEntity == GraphEntities.Links) { var pagesSerializer = new XmlSerializer(typeof(List <Link>)); _links = (List <Link>)pagesSerializer.Deserialize(reader); } } }
/// <summary> /// Writes Pages or Links lists into XML files, input: the file name of the created XML file /// </summary> /// <param name="grapheEntity">The suggested entity to persist can be Page or Link</param> /// <param name="fileName">The full name of the generated XML file</param> private void PersistGraphEntitiesToXml(GraphEntities grapheEntity, string fileName) { if (fileName != null) { using (TextWriter writer = new StreamWriter(fileName)) { if (grapheEntity == GraphEntities.Pages) { var pagesSerializer = new XmlSerializer(typeof(List <Model.Page>)); pagesSerializer.Serialize(writer, _pages); } else if (grapheEntity == GraphEntities.Links) { var linksSerializer = new XmlSerializer(typeof(List <Link>)); linksSerializer.Serialize(writer, _links); } } } }