Udostępnij za pośrednictwem


Używanie Migracje Code First do inicjowania bazy danych

Pobieranie ukończonego projektu

W tej sekcji użyjesz Migracje Code First w programie EF, aby zainicjować bazę danych przy użyciu danych testowych.

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 przedstawiający Eksplorator rozwiązań 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 przedstawiający okno Konsoli Menedżera pakietów z włączonymi migracjami, Dodawanie początkowej migracji i Aktualizowanie wierszy bazy danych w kolorze czerwonym.

Eksplorowanie interfejsu API (opcjonalnie)

Naciśnij klawisz F5, aby uruchomić aplikację w trybie debugowania. Program Visual Studio uruchamia IIS Express i uruchamia aplikację internetową. 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 jest generowana ta strona pomocy i jak można dodać własną dokumentację do strony, zobacz Tworzenie stron pomocy dla ASP.NET internetowego interfejsu API). 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 według identyfikatora.
POST /api/autorzy Utwórz nowego autora.
PUT /api/authors/{id} Zaktualizuj 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ę według identyfikatora.
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świetl bazę 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 przedstawiający Eksplorator obiektów serwera S Q L Server wyróżniony na niebiesko i wyróżniony element Dodaj serwer S Q L w kolorze żółtym.

W oknie dialogowym Łączenie z serwerem w polu Edycja nazwy serwera wpisz "(localdb)\v11.0". Pozostaw opcję Uwierzytelnianie jako "Uwierzytelnianie systemu Windows". Kliknij przycisk 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 SQL Server Eksplorator obiektów. Węzły można rozwinąć, aby wyświetlić utworzone tabele EF.

Zrzut ekranu przedstawiający Eksplorator obiektów serwera S Q L z hierarchią folderów z elementem Kontekst usługi książki wyróżnionym na niebiesko.

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

Zrzut ekranu przedstawiający Eksplorator obiektów serwera S Q L z wyróżnionym elementem d b o dot Books wyróżnionym na niebiesko i wyróżnionym elementem Wyświetl dane w kolorze żółtym.

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 tabeli Autorzy.

Zrzut ekranu przedstawiający tabelę Books z bazą danych wypełniona danymi początkowymi i tabelą zawierającą klucz obcy.