Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
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.
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.
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.
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.
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.
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.
Pokud chcete zobrazit data, klikněte pravým tlačítkem myši na tabulku a vyberte Zobrazit data.
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.