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.
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.
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.
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.
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.
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.
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.
Aby wyświetlić dane, kliknij prawym przyciskiem myszy tabelę i wybierz pozycję 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 tabeli Autorzy.