public static ClinicalTrialsContext AddToContextJSON(ClinicalTrialsContext context, ClinicalTrialJSON entity, int count, int commitCount, bool recreateContext) { //context.Set<ClinicalTrialJSON>().Add(entity); if (count % commitCount == 0) { try { context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.InnerException); } if (recreateContext) { context.Dispose(); context = new ClinicalTrialsContext(); context.ChangeTracker.AutoDetectChangesEnabled = false; } } return(context); }
public static void WriteToDBJSON() { ClinicalTrialsContext context = null; try { context = new ClinicalTrialsContext(); try { foreach (string m in context.Database.GetMigrations()) { Console.WriteLine(m); } context.Database.Migrate(); } catch (Exception e) { Console.WriteLine(e.Message); } DeleteOldJSONDb(); context.ChangeTracker.AutoDetectChangesEnabled = false; int count = 0; using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Read)) { Console.WriteLine("Reading from zip in progress..."); //int countZip = 0; foreach (ZipArchiveEntry entry in archive.Entries) { if (entry.FullName.EndsWith(".json", StringComparison.OrdinalIgnoreCase)) { using (StreamReader reader = new StreamReader(entry.Open())) { String json = reader.ReadToEnd(); dynamic trial = JsonConvert.DeserializeObject <dynamic>(json); ClinicalTrialJSON item = new ClinicalTrialJSON(); item.NCTId = trial.FullStudy.Study.ProtocolSection.IdentificationModule.NCTId; item.JSON = json; context = AddToContextJSON(context, item, count, commitCount, true); } Console.WriteLine(entry.FullName + " - " + ++count); } } } context.SaveChanges(); Console.WriteLine("Writing complete."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); } finally { if (context != null) { context.Dispose(); } } }
public static void WriteToDB() { //SetConnectionString(); ClinicalTrialsContext context = null; try { context = new ClinicalTrialsContext(); try { foreach (string m in context.Database.GetMigrations()) { Console.WriteLine(m); } context.Database.Migrate(); } catch (Exception e) { Console.WriteLine(e.Message); } DeleteOldDb(); context.ChangeTracker.AutoDetectChangesEnabled = false; int count = 0; using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Read)) { Console.WriteLine("Reading from zip in progress..."); //int countZip = 0; foreach (ZipArchiveEntry entry in archive.Entries) { //if (countZip <= numFiles){ if (entry.FullName.EndsWith(".json", StringComparison.OrdinalIgnoreCase)) { using (StreamReader reader = new StreamReader(entry.Open())) { String json = reader.ReadToEnd(); Root item = JsonConvert.DeserializeObject <Root>(json); ++count; context = AddToContext(context, item, count, commitCount, true); } Console.WriteLine(entry.FullName + " - " + count); //countZip++; } } } context.SaveChanges(); } finally { if (context != null) { context.Dispose(); } } Console.WriteLine("Writing complete."); Console.ReadLine(); }
//public RepositoryWrapper(ClinicalTrialsJSONContext repositoryContext) //{ // _jsonContext = repositoryContext; //} public void Save() { _repoContext.SaveChanges(); }