Sdílet prostřednictvím


Použití migrací Code First k naplnění databáze

Stáhnout dokončený projekt

V této části použijete Code First Migrations v EF k naplnění databáze testovacími daty.

V nabídce Nástroje vyberte Správce balíčků NuGet a pak vyberte konzolu 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 Migrace a soubor kódu s názvem Configuration.cs ve složce Migrace.

Snímek obrazovky Průzkumníka řešení zobrazující hierarchii složek se zvýrazněným modrý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ě konzoly 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ů, přičemž jsou červeně zakroužkovány řá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í SLUŽBU IIS Express a spustí 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. Když aplikaci spustíte, zobrazí se jiné číslo portu.

Snímek obrazovky s oknem aplikace spuštěným ze sady Visual Studio v režimu ladění s odkazem A P I zakroužkovaným červeně a zvýrazněným červeným š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. (Pokud chcete zjistit, jak se tato stránka nápovědy generuje a jak na stránku přidat vlastní dokumentaci, přečtěte si článek 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 zobrazující seznam odkazů na dokumentaci pro funkce rozhraní API

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

Autoři Description
GET api/autori 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} Odstraňte autora.
Knihy Description
GET /api/books Získejte všechny knihy.
GET /api/books/{id} Získejte knihu podle ID.
POST /api/books Vytvořte novou knihu.
PUT /api/books/{id} Aktualizujte existující knihu.
DELETE /api/books/{id} Smazat knihu.

Zobrazení databáze (volitelné)

Když jste spustili příkaz Update-Database, ef vytvořil databázi a volal metodu Seed . Při místním spuštění aplikace ef používá LocalDB. Můžete si prohlédnout databázi v aplikaci Visual Studio. V nabídce Zobrazení vyberte Průzkumník objektů systému SQL Server.

Snímek obrazovky s Průzkumníkem objektů S Q L Serveru se zvýrazněnou modrou položkou S Q L Server a zvýrazněnou žlutou položkou Přidat S Q L Server

V dialogovém okně Připojit k serveru do pole Název serveru zadejte "(localdb)\v11.0". Možnost Ověřování ponechte na možnosti Ověřování systému Windows. Klepněte na tlačítko Připojit.

Snímek obrazovky dialogového okna Připojit k serveru zobrazující text local d b v 11 tečka 0 v poli Název serveru a zvýrazněný modře

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

Snímek obrazovky s Průzkumníkem objektů serveru S Q L Server zobrazující hierarchii složek se zvýrazněnou položkou Kontext služby knihy modře

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

Snímek obrazovky Průzkumníku objektů SQL Server zobrazující položku dbo.Books zvýrazněnou modře a položku Zobrazit data zvýrazněnou žlutě.

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

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