Beispiel #1
0
        private OnlineBookStoreDbContext _context;                           // private OnlineBookStoreDbContext type called context _ means private

        public EFOnlineBookStoreRepository(OnlineBookStoreDbContext context) // Constructor
        {
            _context = context;
        }
Beispiel #2
0
        public static void EnsurePopulated(IApplicationBuilder application)
        {
            OnlineBookStoreDbContext context = application.ApplicationServices.
                                               CreateScope().ServiceProvider.GetRequiredService <OnlineBookStoreDbContext>();

            if (context.Database.GetPendingMigrations().Any())
            {
                context.Database.Migrate(); // Migrate pending migrations
            }

            if (!context.BookModels.Any()) // if there are no entries context has no data
            {
                context.BookModels.AddRange(

                    new BookModel
                {
                    BookTitle            = "Les Miserables",
                    BookAuthorFirstName  = "Victor",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Hugo",
                    BookPublisher        = "Signet",
                    BookISBN             = "978-0451419439",
                    BookClassification   = "Fiction",
                    BookCategory         = "Classic",
                    BookPrice            = 9.95,
                    BookPages            = 1488
                },

                    new BookModel
                {
                    BookTitle            = "Team of Rivals",
                    BookAuthorFirstName  = "Doris",
                    BookAuthorMiddleName = "Kearns",
                    BookAuthorLastName   = "Goodwin",
                    BookPublisher        = "Simon & Schuster",
                    BookISBN             = "978-0743270755",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Biography",
                    BookPrice            = 14.58,
                    BookPages            = 944
                },

                    new BookModel
                {
                    BookTitle            = "The Snowball",
                    BookAuthorFirstName  = "Alice",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Schroeder",
                    BookPublisher        = "Bantam",
                    BookISBN             = "978-0553384611",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Biography",
                    BookPrice            = 21.54,
                    BookPages            = 832
                },

                    new BookModel
                {
                    BookTitle            = "American Ulysses",
                    BookAuthorFirstName  = "Alice",
                    BookAuthorMiddleName = "C.",
                    BookAuthorLastName   = "White",
                    BookPublisher        = "Random House",
                    BookISBN             = "978-0812981254",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Biography",
                    BookPrice            = 11.61,
                    BookPages            = 864
                },

                    new BookModel
                {
                    BookTitle            = "Unbroken",
                    BookAuthorFirstName  = "Laura",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Hillenbrand",
                    BookPublisher        = "Random House",
                    BookISBN             = "978-0812974492",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Historical",
                    BookPrice            = 13.33,
                    BookPages            = 528
                },

                    new BookModel
                {
                    BookTitle            = "The Great Train Robbery",
                    BookAuthorFirstName  = "Michael",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Crichton",
                    BookPublisher        = "Vintage",
                    BookISBN             = "978-0804171281",
                    BookClassification   = "Fiction",
                    BookCategory         = "Historical Fiction",
                    BookPrice            = 15.95,
                    BookPages            = 288
                },

                    new BookModel
                {
                    BookTitle            = "Deep Work",
                    BookAuthorFirstName  = "Cal",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Newport",
                    BookPublisher        = "Grand Central Publishing",
                    BookISBN             = "978-1455586691",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Self-Help",
                    BookPrice            = 14.99,
                    BookPages            = 304
                },

                    new BookModel
                {
                    BookTitle            = "It's Your Ship",
                    BookAuthorFirstName  = "Michael",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Abrashoff",
                    BookPublisher        = "Grand Central Publishing",
                    BookISBN             = "978-1455523023",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Self-Help",
                    BookPrice            = 21.66,
                    BookPages            = 240
                },

                    new BookModel
                {
                    BookTitle            = "The Virgin Way",
                    BookAuthorFirstName  = "Richard",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Branson",
                    BookPublisher        = "Portfolio",
                    BookISBN             = "978-1591847984",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Business",
                    BookPrice            = 29.16,
                    BookPages            = 400
                },

                    new BookModel
                {
                    BookTitle            = "Sycamore Row",
                    BookAuthorFirstName  = "John",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Grisham",
                    BookPublisher        = "Bantam",
                    BookISBN             = "978-0553393613",
                    BookClassification   = "Fiction",
                    BookCategory         = "Thrillers",
                    BookPrice            = 15.03,
                    BookPages            = 642
                },

                    new BookModel
                {
                    BookTitle            = "Good Strategy Bad Strategy",
                    BookAuthorFirstName  = "Richard",
                    BookAuthorMiddleName = "Post",
                    BookAuthorLastName   = "Rumelt",
                    BookPublisher        = "Profile Books",
                    BookISBN             = "978-1781256176",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Reference Work",
                    BookPrice            = 14.17,
                    BookPages            = 322
                },

                    new BookModel
                {
                    BookTitle            = "The 4-Hour Workweek",
                    BookAuthorFirstName  = "Timothy",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Ferriss",
                    BookPublisher        = "Crown Publishing Group",
                    BookISBN             = "978-0091923723",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Self-Help",
                    BookPrice            = 14.63,
                    BookPages            = 308
                },

                    new BookModel
                {
                    BookTitle            = "Inspired: How to Create Tech Products Customers Love",
                    BookAuthorFirstName  = "Marty",
                    BookAuthorMiddleName = "",
                    BookAuthorLastName   = "Cagan",
                    BookPublisher        = "Wiley",
                    BookISBN             = "978-1119387503",
                    BookClassification   = "Non-Fiction",
                    BookCategory         = "Business",
                    BookPrice            = 26.99,
                    BookPages            = 368
                }
                    );

                context.SaveChanges(); // save this to the DB
            }
        }