ASP.NET MVC 4 — tworzenie szkieletu i migracje platformy Entity Framework

Według zespołu obozów internetowych

Pobierz zestaw szkoleniowy dla obozów internetowych

Jeśli znasz metody kontrolera MVC 4 ASP.NET lub zostały ukończone laboratorium "Pomocnicy, formularze i walidacja Hands-On", należy pamiętać, że większość logiki do tworzenia, aktualizowania, aktualizowania i usuwania dowolnej jednostki danych jest powtarzana w całej aplikacji. Nie wspominając już o tym, że jeśli model ma kilka klas do manipulowania, prawdopodobnie będziesz poświęcać dużo czasu na pisanie metod akcji POST i GET dla każdej operacji jednostki, a także każdego z widoków.

W tym laboratorium dowiesz się, jak używać szkieletu ASP.NET MVC 4, aby automatycznie wygenerować punkt odniesienia cruD aplikacji (Tworzenie, odczytywanie, aktualizowanie i usuwanie). Począwszy od prostej klasy modelu, a bez pisania jednego wiersza kodu utworzysz kontroler, który będzie zawierać wszystkie operacje CRUD, a także wszystkie niezbędne widoki. Po utworzeniu i uruchomieniu prostego rozwiązania zostanie wygenerowana baza danych aplikacji wraz z logiką MVC i widokami do manipulowania danymi.

Ponadto dowiesz się, jak łatwo jest używać migracji platformy Entity Framework do przeprowadzania aktualizacji modelu w całej aplikacji. Migracje platformy Entity Framework umożliwią zmodyfikowanie bazy danych po zmianie modelu przy użyciu prostych kroków. Mając to na uwadze, będziesz w stanie wydajniej tworzyć i obsługiwać aplikacje internetowe, korzystając z najnowszych funkcji ASP.NET MVC 4.

Uwaga

Wszystkie przykładowe fragmenty kodu i fragmentów są zawarte w zestawie szkoleniowym web camps dostępnym w witrynie Microsoft-Web/WebCampTrainingKit Releases. Projekt specyficzny dla tego laboratorium jest dostępny w witrynie ASP.NET mvC 4 Entity Framework — tworzenie szkieletów i migracje.

Cele

W tym Hands-On Lab dowiesz się, jak wykonywać następujące działania:

  • Użyj ASP.NET szkieletu dla operacji CRUD na kontrolerach.
  • Zmień model bazy danych przy użyciu migracji platformy Entity Framework.

Wymagania wstępne

Aby ukończyć to laboratorium, musisz mieć następujące elementy:

Konfigurowanie

Instalowanie fragmentów kodu

Dla wygody większość kodu, którym będziesz zarządzać w tym laboratorium, jest dostępna jako fragmenty kodu programu Visual Studio. Aby zainstalować fragmenty kodu, uruchom plik .\Source\Setup\CodeSnippets.vsi .

Jeśli nie znasz fragmentów kodu Visual Studio Code i chcesz dowiedzieć się, jak z nich korzystać, zapoznaj się z dodatkiem z tego dokumentu "Dodatek B: Używanie fragmentów kodu".


Ćwiczenia

Następujące ćwiczenie składa się z tego Hands-On Lab:

  1. Używanie szkieletu ASP.NET MVC 4 z migracjami platformy Entity Framework

Uwaga

To ćwiczenie jest dołączone do folderu Końcowego zawierającego wynikowe rozwiązanie, które należy uzyskać po ukończeniu ćwiczenia. To rozwiązanie można użyć jako przewodnika, jeśli potrzebujesz dodatkowej pomocy podczas wykonywania tego ćwiczenia.

Szacowany czas ukończenia tego laboratorium: 30 minut

Ćwiczenie 1. Używanie ASP.NET szkieletu MVC 4 z migracjami platformy Entity Framework

ASP.NET szkieletu MVC zapewnia szybki sposób generowania operacji CRUD w ustandaryzowany sposób, tworząc niezbędną logikę, która umożliwia aplikacji interakcję z warstwą bazy danych.

W tym ćwiczeniu dowiesz się, jak używać szkieletu ASP.NET MVC 4 z kodem najpierw w celu utworzenia metod CRUD. Następnie dowiesz się, jak zaktualizować model stosując zmiany w bazie danych przy użyciu migracji programu Entity Framework.

Zadanie 1. Tworzenie nowego projektu ASP.NET MVC 4 przy użyciu szkieletu

  1. Jeśli jeszcze nie zostanie otwarty, uruchom program Visual Studio 2012.

  2. Wybierz plik | Nowy projekt. W oknie dialogowym Nowy projekt w obszarze Visual C# | Sekcja sieci Web wybierz pozycję ASP.NET aplikacja internetowa MVC 4. Nadaj projektowi nazwę MVC4andEFMigrations i ustaw lokalizację na Source\Ex1-UsingMVC4ScaffoldingEFMigrations tego laboratorium. Ustaw nazwę rozwiązania na Rozpocznij i upewnij się, że zaznaczono opcję Utwórz katalog dla rozwiązania . Kliknij przycisk OK.

    Nowe okno dialogowe projektu ASP.NET MVC 4 Nowe okno dialogowe

    Okno dialogowe Nowy projekt ASP.NET MVC 4

  3. W oknie dialogowym Nowy projekt ASP.NET MVC 4 wybierz szablon Aplikacji internetowej i upewnij się, że razor jest wybranym aparatem widoku. Kliknij przycisk OK, aby utworzyć projekt.

    Nowa ASP.NET APLIKACJA internetowa MVC 4 — nowa aplikacja internetowa

    Nowa ASP.NET aplikacja internetowa MVC 4

  4. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję Modele i wybierz pozycję Dodaj | Klasa, aby utworzyć prostą osobę klasy (POCO). Nadaj mu nazwę Person i kliknij przycisk OK.

  5. Otwórz klasę Person i wstaw następujące właściwości.

    (Fragment kodu — ASP.NET migracji MVC 4 i Entity Framework — właściwości ex1 osoby)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace MVC4EF.Models
    {
        public class Person
        {
            public int PersonID { get; set; }
    
            public string FirstName { get; set; }
    
            public string LastName { get; set; }        
        }
    }
    
  6. Kliknij pozycję Kompiluj | Utwórz rozwiązanie w celu zapisania zmian i skompilowania projektu.

    Zrzut ekranu przedstawia Visual Studio Express 2012 z menu Kompilacja, a następnie wybraną pozycję Kompiluj rozwiązania.

    Kompilowanie aplikacji

  7. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy folder controllers i wybierz pozycję Dodaj | Kontroler.

  8. Nadaj kontrolerowi nazwę PersonController i wypełnij opcje tworzenia szkieletu z następującymi wartościami.

    1. Z listy rozwijanej Szablon wybierz kontroler MVC z akcjami odczytu/zapisu i widokami przy użyciu opcji Entity Framework .

    2. Z listy rozwijanej Klasa modelu wybierz klasę Person .

    3. Na liście Klasa Kontekstu danych wybierz pozycję <Nowy kontekst danych...>. Wybierz dowolną nazwę i kliknij przycisk OK.

    4. Na liście rozwijanej Widoki upewnij się, że wybrano pozycję Razor .

      Dodawanie kontrolera person z szkieletem

      Dodawanie kontrolera person z szkieletem

  9. Kliknij przycisk Dodaj , aby utworzyć nowy kontroler dla osoby ze szkieletem. Teraz wygenerowano akcje kontrolera, a także widoki.

    Po utworzeniu kontrolera person z szkieletem

    Po utworzeniu kontrolera osoby ze szkieletem

  10. Otwórz klasę PersonController . Zwróć uwagę, że pełne metody akcji CRUD zostały wygenerowane automatycznie.

Wewnątrz kontrolera osoby wewnątrz

Wewnątrz kontrolera osoby

Zadanie 2. Uruchamianie aplikacji

W tym momencie baza danych nie została jeszcze utworzona. W tym zadaniu uruchomisz aplikację po raz pierwszy i przetestujesz operacje CRUD. Baza danych zostanie utworzona na bieżąco z kodem Code First.

  1. Naciśnij klawisz F5 , aby uruchomić aplikację.

  2. W przeglądarce dodaj /Person do adresu URL, aby otworzyć stronę Osoba.

    Pierwsze uruchomienie aplikacji

    Aplikacja: pierwsze uruchomienie

  3. Teraz poznasz strony Osoby i przetestujesz operacje CRUD.

    1. Kliknij pozycję Utwórz nowy , aby dodać nową osobę. Wprowadź imię i nazwisko, a następnie kliknij przycisk Utwórz.

      Dodawanie nowej osoby Dodawanie

      Dodawanie nowej osoby

    2. Na liście osoby możesz usuwać, edytować lub dodawać elementy.

      lista osób

      Lista osób

    3. Kliknij pozycję Szczegóły , aby otworzyć szczegóły osoby.

      Szczegóły osoby

      Szczegóły osoby

  4. Zamknij przeglądarkę i wróć do programu Visual Studio. Zwróć uwagę, że utworzono całą jednostkę CRUD dla jednostki osoby w całej aplikacji — od modelu do widoków — bez konieczności pisania pojedynczego wiersza kodu.

Zadanie 3. Aktualizowanie bazy danych przy użyciu migracji programu Entity Framework

W tym zadaniu zaktualizujesz bazę danych przy użyciu migracji programu Entity Framework. Dowiesz się, jak łatwo jest zmienić model i odzwierciedlić zmiany w bazach danych przy użyciu funkcji Migracje platformy Entity Framework.

  1. Otwórz konsolę Menedżera pakietów. Wybierz pozycję Narzędzia>Menedżer pakietów NuGet>Konsola menedżera pakietów.

  2. W konsoli menedżera pakietów wprowadź następujące polecenie:

    PMC

    Enable-Migrations -ContextTypeName [ContextClassName]
    

    Włączanie migracji

    Włączanie migracji

    Polecenie Enable-Migration tworzy folder Migrations , który zawiera skrypt umożliwiający zainicjowanie bazy danych.

    Folder Migrations Folder

    Folder Migracje

  3. Otwórz plik Configuration.cs w folderze Migrations. Znajdź konstruktor klasy i zmień wartość AutomaticMigrationsEnabled na true.

    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }
    
  4. Otwórz klasę Person i dodaj atrybut dla drugiego imienia osoby. W przypadku tego nowego atrybutu zmieniasz model.

    public class Person
    {
        public int PersonID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string MiddleName { get; set; }
    }
    
  5. Wybierz pozycję Kompilacja | Skompiluj rozwiązanie w menu, aby skompilować aplikację.

    Zrzut ekranu przedstawia menu Kompilacja, a następnie wybraną pozycję Kompiluj rozwiązania.

    Kompilowanie aplikacji

  6. W konsoli menedżera pakietów wprowadź następujące polecenie:

    PMC

    Add-Migration AddMiddleName
    

    To polecenie wyszuka zmiany w obiektach danych, a następnie doda niezbędne polecenia, aby odpowiednio zmodyfikować bazę danych.

    Dodawanie nazwy środkowej

    Dodawanie średniej nazwy

  7. (Opcjonalnie) Możesz uruchomić następujące polecenie, aby wygenerować skrypt SQL z aktualizacją różnicową. Pozwoli to ręcznie zaktualizować bazę danych (w tym przypadku nie jest to konieczne) lub zastosować zmiany w innych bazach danych:

    PMC

    Update-Database -Script -SourceMigration:
    
    $InitialDatabase
    

    Generowanie skryptu SQL

    Generowanie skryptu SQL

    Aktualizacja skryptu SQL

    Aktualizacja skryptu SQL

  8. W konsoli menedżera pakietów wprowadź następujące polecenie, aby zaktualizować bazę danych:

    PMC

    Update-Database -Verbose
    

    Aktualizowanie bazy danych

    aktualizowanie bazy danych

    Spowoduje to dodanie kolumny MiddleName w tabeli Osoby w celu dopasowania do bieżącej definicji klasy Person.

  9. Po zaktualizowaniu bazy danych kliknij prawym przyciskiem myszy folder Kontroler i wybierz polecenie Dodaj | Kontroler , aby ponownie dodać kontroler osoby (Zakończ z tymi samymi wartościami). Spowoduje to zaktualizowanie istniejących metod i widoków dodających nowy atrybut.

    Dodawanie aktualizacji kontrolera Dodawanie aktualizacji

    Aktualizowanie kontrolera

  10. Kliknij pozycję Dodaj. Następnie wybierz wartości Overwrite PersonController.cs i zastąp skojarzone widoki , a następnie kliknij przycisk OK.

Dodawanie zastępowania kontrolera

Aktualizowanie kontrolera

Task4 — Uruchamianie aplikacji

  1. Naciśnij klawisz F5 , aby uruchomić aplikację.

  2. Otwórz /Person. Zwróć uwagę, że dane zostały zachowane, a kolumna nazwy środkowej została dodana.

    Dodano nazwę pośrednią

    Dodano nazwę środkową

  3. Po kliknięciu przycisku Edytuj będzie można dodać drugie imię do bieżącej osoby.

    Wydanie Middle Name Edition


Podsumowanie

W tym laboratorium Hands-On przedstawiono proste kroki tworzenia operacji CRUD przy użyciu szkieletu ASP.NET MVC 4 przy użyciu dowolnej klasy modelu. Następnie wiesz już, jak wykonać kompleksową aktualizację w aplikacji — od bazy danych do widoków — przy użyciu migracji programu Entity Framework.

Dodatek A: Instalowanie Visual Studio Express 2012 dla sieci Web

Możesz zainstalować program Microsoft Visual Studio Express 2012 dla sieci Web lub innej wersji "Express" przy użyciu Instalator platformy Microsoft Web. Poniższe instrukcje przeprowadzą Cię przez kroki wymagane do zainstalowania programu Visual Studio Express 2012 for Web przy użyciu Instalator platformy Microsoft Web.

  1. Przejdź do witryny https://go.microsoft.com/?linkid=9810169. Alternatywnie, jeśli masz już zainstalowany Instalator platformy internetowej, możesz go otworzyć i wyszukać produkt "Visual Studio Express 2012 for Web with Windows Azure SDK" (Visual Studio Express 2012 dla sieci Web przy użyciu zestawu Windows Azure SDK).

  2. Kliknij pozycję Zainstaluj teraz. Jeśli nie masz Instalatora platformy internetowej , nastąpi przekierowanie do pobrania i zainstalowania go najpierw.

  3. Po otwarciu Instalatora platformy internetowej kliknij przycisk Zainstaluj , aby rozpocząć instalację.

    Instalowanie Visual Studio Express

    Instalowanie Visual Studio Express

  4. Przeczytaj wszystkie licencje i postanowienia dotyczące produktów, a następnie kliknij przycisk Akceptuję , aby kontynuować.

    Akceptowanie postanowień licencyjnych

    Akceptowanie postanowień licencyjnych

  5. Poczekaj na zakończenie procesu pobierania i instalacji.

    Postęp instalacji

    Postęp instalacji

  6. Po zakończeniu instalacji kliknij przycisk Zakończ.

    Instalacja została ukończona

    Instalacja została ukończona

  7. Kliknij przycisk Zakończ , aby zamknąć Instalatora platformy sieci Web.

  8. Aby otworzyć Visual Studio Express dla sieci Web, przejdź do ekranu startowego i zacznij pisać "VS Express", a następnie kliknij kafelek VS Express for Web.

    Kafelek programu VS Express dla sieci Web

    Kafelek programu VS Express dla sieci Web

Dodatek B: Używanie fragmentów kodu

Dzięki fragmentom kodu masz cały potrzebny kod na wyciągnięcie ręki. Dokument laboratorium zawiera informacje o tym, kiedy można ich używać, jak pokazano na poniższej ilustracji.

Używanie fragmentów kodu w programie Visual Studio Code do wstawiania kodu do projektu

Wstawianie kodu do projektu przy użyciu fragmentów kodu w programie Visual Studio Code

Aby dodać fragment kodu przy użyciu klawiatury (tylko w języku C#)

  1. Umieść kursor, w którym chcesz wstawić kod.
  2. Zacznij wpisywać nazwę fragmentu kodu (bez spacji lub łączników).
  3. Obserwuj, jak funkcja IntelliSense wyświetla pasujące nazwy fragmentów kodu.
  4. Wybierz poprawny fragment kodu (lub kontynuuj wpisywanie do momentu wybrania nazwy całego fragmentu kodu).
  5. Naciśnij dwukrotnie klawisz Tab, aby wstawić fragment kodu w lokalizacji kursora.

Zacznij wpisywać nazwę fragmentu kodu Rozpocznij wpisywanie

Zacznij wpisywać nazwę fragmentu kodu

Naciśnij klawisz Tab, aby wybrać wyróżniony fragment kodu

Naciśnij klawisz Tab, aby wybrać wyróżniony fragment kodu

Ponownie naciśnij klawisz Tab, a fragment kodu ponownie rozwiń pozycję

Naciśnij ponownie klawisz Tab, a fragment kodu zostanie rozwinąć

Aby dodać fragment kodu przy użyciu myszy (C#, Visual Basic i XML) 1. Kliknij prawym przyciskiem myszy miejsce, w którym chcesz wstawić fragment kodu.

  1. Wybierz pozycję Wstaw fragment kodu , a następnie pozycję Moje fragmenty kodu.
  2. Wybierz odpowiedni fragment kodu z listy, klikając go.

Kliknij prawym przyciskiem myszy miejsce, w którym chcesz wstawić fragment kodu, a następnie wybierz polecenie Wstaw fragment kodu fragment kodu

Kliknij prawym przyciskiem myszy miejsce, w którym chcesz wstawić fragment kodu, a następnie wybierz polecenie Wstaw fragment kodu

Wybierz odpowiedni fragment kodu z listy, klikając go

Wybierz odpowiedni fragment kodu z listy, klikając go