public static Task SetContextIdsAsync(MvcMovieContext context)
        {
            var timer = new Stopwatch();

            timer.Start();
            foreach (Movies m in context.Movies)
            {
                var movieId = (from mov in context.Movies where mov.Title.Equals(m.Title) select mov.Id).FirstOrDefault();
                var info    = m.Info;
                info.MovieId = m.Id;
            }
            context.SaveChanges();
            foreach (Movies m2 in context.Movies)
            {
                var info2     = m2.Info;
                var infoId    = (from mov in context.Movies where mov.Id.Equals(info2.MovieId) select mov.Info.Id).FirstOrDefault();
                var actors    = m2.Info.Actors;
                var directors = m2.Info.Directors;
                var genres    = m2.Info.Genres;
                foreach (Actors a in actors)
                {
                    a.InfoId = infoId;
                }
                foreach (Directors d in directors)
                {
                    d.InfoId = infoId;
                }
                foreach (Genres g in genres)
                {
                    g.InfoId = infoId;
                }
            }
            context.SaveChanges();
            timer.Stop();
            log.Info(string.Format("SetContextIdsAsync - completed adding Ids to Movies in separate thread and saving to DB:  {0} ms have elapsed.", timer.ElapsedMilliseconds.ToString()));
            // Dispose this context, we don't need it anymore it was only for seeding data
            context.Dispose();
            return(null);
        }