public int ReadFileIntoDatabase() { //File path. var path = $"{ env.WebRootPath }\\db.csv"; List <Weather> weatherList = new List <Weather>(); int counter = 0; counter = ParseCSV(path, weatherList, counter); //Add & Save changes to database. Task t1 = context.AddRangeAsync(weatherList); t1.Wait(); context.SaveChanges(); //Create Daily views for every date. var uniqueDates = weatherList.GroupBy(x => x.Date.Date).ToHashSet(); List <WeatherView> weatherViewList = new List <WeatherView>(); CreateDailyView(weatherList, uniqueDates, weatherViewList); //Add & Save changes to database. Task t2 = context.AddRangeAsync(weatherViewList); t2.Wait(); context.SaveChanges(); weatherViewList.Clear(); weatherList.Clear(); query.SetSummerSeason(); query.SetAutumnSeason(); query.SetWinterSeason(); context.SaveChanges(); return(counter); }