Samouczek: zmienianie bazy danych dla usługi EF Database First przy użyciu ASP.NET aplikacji MVC

Korzystając z wzorca MVC, platformy Entity Framework i ASP.NET tworzenia szkieletów, można utworzyć aplikację internetową, która udostępnia interfejs istniejącej bazy danych. W tej serii samouczków pokazano, jak automatycznie generować kod, który umożliwia użytkownikom wyświetlanie, edytowanie, tworzenie i usuwanie danych znajdujących się w tabeli bazy danych. Wygenerowany kod odpowiada kolumnom w tabeli bazy danych.

Ten samouczek koncentruje się na aktualizowaniu struktury bazy danych i propagowaniu tej zmiany w całej aplikacji internetowej.

W tym samouczku zostały wykonane następujące czynności:

  • Dodawanie kolumny
  • Dodawanie właściwości do widoków

Wymagania wstępne

Dodawanie kolumny

Jeśli zaktualizujesz strukturę tabeli w bazie danych, musisz upewnić się, że zmiana jest propagowana do modelu danych, widoków i kontrolera.

W tym samouczku dodasz nową kolumnę do tabeli Student, aby zarejestrować drugie imię ucznia. Aby dodać tę kolumnę, otwórz projekt bazy danych i otwórz plik Student.sql. Za pomocą projektanta lub kodu T-SQL dodaj kolumnę o nazwie MiddleName , która jest NVARCHAR(50) i zezwala na wartości NULL.

Wdróż tę zmianę w lokalnej bazie danych, uruchamiając projekt bazy danych (lub F5). Nowe pole jest dodawane do tabeli. Jeśli nie widzisz go w SQL Server Eksplorator obiektów, kliknij przycisk Odśwież w okienku.

pokaż nową kolumnę

Nowa kolumna istnieje w tabeli bazy danych, ale obecnie nie istnieje w klasie modelu danych. Należy zaktualizować model, aby zawierał nową kolumnę. W folderze Models otwórz plik ContosoModel.edmx , aby wyświetlić diagram modelu. Zwróć uwagę, że model Student nie zawiera właściwości MiddleName. Kliknij prawym przyciskiem myszy w dowolnym miejscu na powierzchni projektowej, a następnie wybierz pozycję Aktualizuj model z bazy danych.

W Kreatorze aktualizacji wybierz kartę Odśwież , a następnie wybierz pozycję Tabele>dbo>Student. Kliknij przycisk Finish (Zakończ).

Po zakończeniu procesu aktualizacji diagram bazy danych zawiera nową właściwość MiddleName . Zapisz plik ContosoModel.edmx . Należy zapisać ten plik, aby nowa właściwość została rozpropagowana do klasy Student.cs . Baza danych i model zostały zaktualizowane.

Skompiluj rozwiązanie.

Dodawanie właściwości do widoków

Niestety widoki nadal nie zawierają nowej właściwości. Aby zaktualizować widoki, masz dwie opcje — możesz ponownie wygenerować widoki, dodając szkielet dla klasy Student lub ręcznie dodać nową właściwość do istniejących widoków. W tym samouczku ponownie dodasz szkielet, ponieważ nie wprowadzono żadnych dostosowanych zmian w widokach generowanych automatycznie. Możesz rozważyć ręczne dodanie właściwości po wprowadzeniu zmian w widokach i nie chcesz tracić tych zmian.

Aby upewnić się, że widoki zostaną ponownie utworzone, usuń folder Uczniowie w obszarze Widoki i usuń kontroler StudentsController. Następnie kliknij prawym przyciskiem myszy folder Controllers i dodaj szkielet dla modelu Student . Ponownie nadaj kontrolerowi nazwę StudentsController. Wybierz pozycję Dodaj.

Ponownie skompiluj rozwiązanie. Widoki zawierają teraz właściwość MiddleName.

pokaż nazwę środkową

Następne kroki

W tym samouczku zostały wykonane następujące czynności:

  • Dodano kolumnę
  • Dodano właściwość do widoków

Przejdź do następnego samouczka, aby dowiedzieć się, jak dostosować widok w celu wyświetlenia szczegółowych informacji o rekordzie ucznia.