Použití Migrace Code First k vytvoření databáze

Stáhnout dokončený projekt

V této části použijete Migrace Code First v EF k dosadíte databázi testovacími daty.

V nabídce Nástroje vyberte Správce balíčků NuGet a pak vyberte Konzola Správce balíčků. V okně konzoly Správce balíčků zadejte následující příkaz:

Enable-Migrations

Tento příkaz přidá do projektu složku s názvem Migrations a soubor kódu s názvem Configuration.cs do složky Migrations.

Snímek obrazovky Průzkumník řešení znázorňující hierarchii složek se modrým zvýrazněným souborem Configuration dot c s

Otevřete soubor Configuration.cs. Přidejte následující příkaz using .

using BookService.Models;

Pak do metody Configuration.Seed přidejte následující kód:

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" }
        );
}

V okně Konzola Správce balíčků zadejte následující příkazy:

Add-Migration Initial
Update-Database

První příkaz vygeneruje kód, který vytvoří databázi, a druhý příkaz tento kód spustí. Databáze se vytvoří místně pomocí LocalDB.

Snímek obrazovky okna konzoly Správce balíčků s červeně zakroužkovanými řádky Povolit migrace, Přidat počáteční migraci a Aktualizovat databázi

Prozkoumání rozhraní API (volitelné)

Stisknutím klávesy F5 spusťte aplikaci v režimu ladění. Visual Studio spustí IIS Express a spustí vaši webovou aplikaci. Visual Studio pak spustí prohlížeč a otevře domovskou stránku aplikace.

Když Visual Studio spustí webový projekt, přiřadí číslo portu. Na následujícím obrázku je číslo portu 50524. Při spuštění aplikace se zobrazí jiné číslo portu.

Snímek obrazovky s oknem aplikace spuštěným ze sady Visual Studio v režimu ladění s červeně zakroužkovaným odkazem A P I a zvýrazněným červenou šipkou

Domovská stránka se implementuje pomocí ASP.NET MVC. V horní části stránky je odkaz s textem "API". Tento odkaz vás přenese na automaticky vygenerovanou stránku nápovědy pro webové rozhraní API. (Informace o tom, jak se tato stránka nápovědy generuje a jak na stránku přidat vlastní dokumentaci, najdete v tématu Vytváření stránek nápovědy pro ASP.NET webové rozhraní API.) Kliknutím na odkazy na stránku nápovědy zobrazíte podrobnosti o rozhraní API, včetně formátu požadavku a odpovědi.

Snímek obrazovky s automaticky vygenerovanou stránkou nápovědy se seznamem odkazů na dokumentaci k funkcím rozhraní API

Rozhraní API umožňuje operace CRUD v databázi. Toto rozhraní API shrnuje následující.

Autoři Description
GET api/authors Získejte všechny autory.
GET api/authors/{id} Získejte autora podle ID.
POST /api/authors Vytvořte nového autora.
PUT /api/authors/{id} Aktualizujte existujícího autora.
DELETE /api/authors/{id} Odstranění autora
Knihy Description
GET /api/books Získejte všechny knihy.
GET /api/books/{id} Získání knihy podle ID
POST /api/books Vytvořte novou knihu.
PUT /api/books/{id} Aktualizujte existující knihu.
DELETE /api/books/{id} Odstranění knihy

Zobrazení databáze (volitelné)

Když jste spustili příkaz Update-Database, EF vytvořil databázi a volal metodu Seed . Když aplikaci spustíte místně, EF použije LocalDB. Databázi můžete zobrazit v sadě Visual Studio. V nabídce Zobrazení vyberte Průzkumník objektů systému SQL Server.

Snímek obrazovky Průzkumník objektů serveru S Q L Server zobrazující položku serveru S Q L zvýrazněnou modře a položku Přidat server S Q L Server zvýrazněnou žlutou barvou

V dialogovém okně Připojit k serveru zadejte do textového pole Název serveru "(localdb)\v11.0". Možnost Ověřování ponechte jako Ověřování systému Windows. Klikněte na Připojit.

Snímek obrazovky s dialogovým oknem Připojit k serveru s textem local d b v 11 dot 0 v poli Název serveru a zvýrazněným modře

Visual Studio se připojí k LocalDB a zobrazí existující databáze v okně SQL Server Průzkumník objektů. Uzly můžete rozbalit a zobrazit tabulky, které EF vytvořil.

Snímek obrazovky Průzkumník objektů S Q L Server zobrazující hierarchii složek s modrou zvýrazněnou položkou Kontext služby

Pokud chcete zobrazit data, klikněte pravým tlačítkem na tabulku a vyberte Zobrazit data.

Snímek obrazovky se serverem S Q L Průzkumník objektů zobrazující položku knihy s tečkou zvýrazněnou modře a položku Zobrazit data zvýrazněnou žlutou barvou

Následující snímek obrazovky ukazuje výsledky tabulky Books. Všimněte si, že EF naplnil databázi počátečními daty a tabulka obsahuje cizí klíč tabulky Authors.

Snímek obrazovky s tabulkou Books zobrazující databázi naplněnou počátečními daty a tabulku obsahující cizí klíč