//constructor
 public EFBookStoreRepository(BookStoreDbContext context)
 {
     _context = context;
 }
        public static void EnsurePopulated(IApplicationBuilder application)
        {
            BookStoreDbContext context = application.ApplicationServices.
                                         CreateScope().ServiceProvider.GetRequiredService <BookStoreDbContext>();

            if (context.Database.GetPendingMigrations().Any())
            {
                context.Database.Migrate();
            }
            if (!context.Books.Any())
            {
                context.Books.AddRange(

                    new Book
                {
                    Title           = "Les Miserables",
                    AuthorFirstName = "Victor",
                    AuthorLastName  = "Hugo",
                    Publisher       = "Signet",
                    ISBN            = "978-0451419439",
                    Classification  = "Fiction",
                    Category        = "Classic",
                    Price           = new decimal(9.95),
                    Pages           = 1488
                },

                    new Book
                {
                    Title            = "Team of Rivals",
                    AuthorFirstName  = "Doris",
                    AuthorMiddleName = "Kearns",
                    AuthorLastName   = "Goodwin",
                    Publisher        = "Simon & Schuster",
                    ISBN             = "978-0743270755",
                    Classification   = "Non-Fiction",
                    Category         = "Classic",
                    Price            = new decimal(14.58),
                    Pages            = 944
                },

                    new Book
                {
                    Title           = "The Snowball",
                    AuthorFirstName = "Alice",
                    AuthorLastName  = "Schroeder",
                    Publisher       = "Bantam",
                    ISBN            = "978-0553384611",
                    Classification  = "Non-Fiction",
                    Category        = "Biography",
                    Price           = new decimal(21.54),
                    Pages           = 832
                },

                    new Book
                {
                    Title            = "American Ulysses",
                    AuthorFirstName  = "Ronald",
                    AuthorMiddleName = "C.",
                    AuthorLastName   = "White",
                    Publisher        = "Random House",
                    ISBN             = "978-0812981254",
                    Classification   = "Non-Fiction",
                    Category         = "Biography",
                    Price            = new decimal(11.61),
                    Pages            = 864
                },

                    new Book
                {
                    Title           = "Unbroken",
                    AuthorFirstName = "Laura",
                    AuthorLastName  = "Hillenbrand",
                    Publisher       = "Random House",
                    ISBN            = "978-0812974492",
                    Classification  = "Non-Fiction",
                    Category        = "Historical",
                    Price           = new decimal(13.33),
                    Pages           = 528
                },

                    new Book
                {
                    Title           = "The Great Train Robbery",
                    AuthorFirstName = "Michael",
                    AuthorLastName  = "Crichton",
                    Publisher       = "Vintage",
                    ISBN            = "978-0804171281",
                    Classification  = "Fiction",
                    Category        = "Historical Fiction",
                    Price           = new decimal(15.95),
                    Pages           = 288
                },

                    new Book
                {
                    Title           = "Deep Work",
                    AuthorFirstName = "Cal",
                    AuthorLastName  = "Newport",
                    Publisher       = "Grand Central Publishing",
                    ISBN            = "978-1455586691",
                    Classification  = "Non-Fiction",
                    Category        = "Self-Help",
                    Price           = new decimal(14.99),
                    Pages           = 304
                },

                    new Book
                {
                    Title           = "It's Your Ship",
                    AuthorFirstName = "Michael",
                    AuthorLastName  = "Abrashoff",
                    Publisher       = "Grand Central Publishing",
                    ISBN            = "978-1455523023",
                    Classification  = "Non-Fiction",
                    Category        = "Self-Help",
                    Price           = new decimal(21.66),
                    Pages           = 240
                },


                    new Book
                {
                    Title           = "The Virgin Way",
                    AuthorFirstName = "Richard",
                    AuthorLastName  = "Branson",
                    Publisher       = "Portfolio",
                    ISBN            = "978-1591847984",
                    Classification  = "Non-Fiction",
                    Category        = "Business",
                    Price           = new decimal(29.16),
                    Pages           = 400
                },

                    new Book
                {
                    Title           = "Sycamore Row",
                    AuthorFirstName = "John",
                    AuthorLastName  = "Grisham",
                    Publisher       = "Bantam",
                    ISBN            = "978-0553393613",
                    Classification  = "Fiction",
                    Category        = "Thriller",
                    Price           = new decimal(15.03),
                    Pages           = 642
                },

                    new Book
                {
                    Title            = "One Hundred Birds Taught Me to Fly",
                    AuthorFirstName  = "Ashley",
                    AuthorMiddleName = "M.",
                    AuthorLastName   = "Hoiland",
                    Publisher        = "Living Faith",
                    ISBN             = "978-0842529921",
                    Classification   = "Fiction",
                    Category         = "Religious",
                    Price            = new decimal(20.97),
                    Pages            = 211
                },

                    new Book
                {
                    Title           = "How to Win Friends and Influence People",
                    AuthorFirstName = "Dale",
                    AuthorLastName  = "Carnegie",
                    Publisher       = "Pocket Books",
                    ISBN            = "978-6710270304",
                    Classification  = "Non-Fiction",
                    Category        = "Self-Help",
                    Price           = new decimal(13.87),
                    Pages           = 234
                },

                    new Book
                {
                    Title           = "Girl, Wash Your Face",
                    AuthorFirstName = "Rachel",
                    AuthorLastName  = "Hollis",
                    Publisher       = "Nelson Books",
                    ISBN            = "978-1400201662",
                    Classification  = "Non-Fiction",
                    Category        = "Autobiography",
                    Price           = new decimal(24.17),
                    Pages           = 215
                }
                    );

                context.SaveChanges();
            }
        }