Udostępnij za pośrednictwem


Używanie migracji Code First do inicjowania bazy danych

Pobieranie ukończonego projektu

W tej sekcji użyjesz funkcji Code First Migrations w programie EF, aby zainicjować bazę danych z danymi testowymi.

W menu Narzędzia wybierz pozycję Menedżer pakietów NuGet, a następnie wybierz pozycję Konsola menedżera pakietów. W oknie Konsola menedżera pakietów wprowadź następujące polecenie:

Enable-Migrations

To polecenie dodaje folder o nazwie Migrations do projektu oraz plik kodu o nazwie Configuration.cs w folderze Migrations.

Zrzut ekranu Eksploratora rozwiązań przedstawiający hierarchię folderów z wyróżnionym plikiem Configuration dot c s na niebiesko.

Otwórz plik Configuration.cs. Dodaj następującą instrukcję using .

using BookService.Models;

Następnie dodaj następujący kod do metody Configuration.Seed :

protected override void Seed(BookService.Models.BookServiceContext context)
{
    context.Authors.AddOrUpdate(x => x.Id,
        new Author() { Id = 1, Name = "Jane Austen" },
        new Author() { Id = 2, Name = "Charles Dickens" },
        new Author() { Id = 3, Name = "Miguel de Cervantes" }
        );

    context.Books.AddOrUpdate(x => x.Id,
        new Book() { Id = 1, Title = "Pride and Prejudice", Year = 1813, AuthorId = 1, 
            Price = 9.99M, Genre = "Comedy of manners" },
        new Book() { Id = 2, Title = "Northanger Abbey", Year = 1817, AuthorId = 1, 
            Price = 12.95M, Genre = "Gothic parody" },
        new Book() { Id = 3, Title = "David Copperfield", Year = 1850, AuthorId = 2, 
            Price = 15, Genre = "Bildungsroman" },
        new Book() { Id = 4, Title = "Don Quixote", Year = 1617, AuthorId = 3, 
            Price = 8.95M, Genre = "Picaresque" }
        );
}

W oknie Konsola menedżera pakietów wpisz następujące polecenia:

Add-Migration Initial
Update-Database

Pierwsze polecenie generuje kod, który tworzy bazę danych, a drugie polecenie wykonuje ten kod. Baza danych jest tworzona lokalnie przy użyciu bazy danych LocalDB.

Zrzut ekranu okna Konsoli Menedżera pakietów z wierszami Włącz migracje, Dodaj migrację początkową i Aktualizuj bazę danych zaznaczonymi na czerwono.

Eksplorowanie interfejsu API (opcjonalnie)

Naciśnij F5, aby uruchomić aplikację w trybie debugowania. Program Visual Studio uruchamia program IIS Express i uruchamia aplikację internetową. Następnie program Visual Studio uruchamia przeglądarkę i otwiera stronę główną aplikacji.

Gdy program Visual Studio uruchamia projekt internetowy, przypisuje numer portu. Na poniższej ilustracji numer portu to 50524. Po uruchomieniu aplikacji zobaczysz inny numer portu.

Zrzut ekranu przedstawiający okno aplikacji uruchomione z programu Visual Studio w trybie debugowania z linkiem A P I w kolorze czerwonym i wyróżnionym czerwoną strzałką.

Strona główna jest implementowana przy użyciu ASP.NET MVC. W górnej części strony znajduje się link z napisem "API". Ten link umożliwia wyświetlenie strony pomocy wygenerowanej automatycznie dla internetowego interfejsu API. (Aby dowiedzieć się, jak ta strona pomocy jest generowana i jak można dodać własną dokumentację do strony, zobacz Tworzenie stron pomocy dla interfejsu API sieci Web ASP.NET). Możesz kliknąć linki do strony pomocy, aby wyświetlić szczegółowe informacje o interfejsie API, w tym format żądania i odpowiedzi.

Zrzut ekranu przedstawiający stronę pomocy wygenerowanej automatycznie z listą linków do dokumentacji funkcji interfejsu API.

Interfejs API umożliwia wykonywanie operacji CRUD w bazie danych. Poniżej przedstawiono podsumowanie interfejsu API.

Autorzy Opis
GET api/autorzy Pobierz wszystkich autorów.
GET api/autorzy/{id} Pobierz autora po identyfikatorze.
POST /api/autorzy Utwórz nowego autora.
PUT /api/authors/{id} Aktualizowanie istniejącego autora.
DELETE /api/authors/{id} Usuń autora.
Książki Opis
GET /api/books Pobierz wszystkie książki.
GET /api/books/{id} Pobierz książkę za pomocą ID.
POST /api/books Utwórz nową książkę.
PUT /api/books/{id} Zaktualizuj istniejącą książkę.
DELETE /api/books/{id} Usuń książkę.

Wyświetlanie bazy danych (opcjonalnie)

Po uruchomieniu polecenia Update-Database program EF utworzył bazę danych i nazwał metodę Seed . Po uruchomieniu aplikacji lokalnie program EF używa bazy danych LocalDB. Bazę danych można wyświetlić w programie Visual Studio. Z menu Widok wybierz opcję Eksplorator obiektów SQL Server.

Zrzut ekranu Eksploratora obiektów serwera SQL pokazujący element serwera SQL wyróżniony na niebiesko oraz element Dodaj serwer SQL wyróżniony na żółto.

W oknie dialogowym Łączenie z serwerem w polu Edycja nazwy serwera wpisz "(localdb)\v11.0". Pozostaw opcję Uwierzytelnianie jako "Uwierzytelnianie systemu Windows". Kliknij Połącz.

Zrzut ekranu przedstawiający okno dialogowe Łączenie z serwerem z tekstem local d b v 11 dot 0 w polu Nazwa serwera i wyróżnione na niebiesko.

Program Visual Studio łączy się z bazą danych LocalDB i pokazuje istniejące bazy danych w oknie Eksplorator obiektów programu SQL Server. Węzły można rozwinąć, aby zobaczyć tabele utworzone przez EF.

Zrzut ekranu Eksploratora obiektów SQL Server pokazujący hierarchię folderów z zaznaczonym elementem Kontekst usługi książkowej podświetlonym kolorem niebieskim.

Aby wyświetlić dane, kliknij prawym przyciskiem myszy tabelę i wybierz polecenie Wyświetl dane.

Zrzut ekranu eksploratora obiektów serwera SQL z wyróżnionym na niebiesko elementem dbo.Books i wyróżnioną na żółto opcją Wyświetl dane.

Poniższy zrzut ekranu przedstawia wyniki tabeli Books. Zwróć uwagę, że program EF wypełnił bazę danych danymi początkowymi, a tabela zawiera klucz obcy do tabeli Autorzy.

Zrzut ekranu przedstawiający tabelę Books z bazą danych wypełnioną danymi inicjującymi oraz tabelą zawierającą klucz obcy.