Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Autor : Rick Anderson
Uwaga / Notatka
Zaktualizowana wersja tego samouczka jest dostępna tutaj przy użyciu najnowszej wersji programu Visual Studio. W nowym samouczku jest używany ASP.NET Core MVC, który oferuje wiele ulepszeń w porównaniu do tego samouczka.
W tym samouczku przedstawiono ASP.NET Core MVC z kontrolerami i widokami. Razor Pages to nowa alternatywa w ASP.NET Core, model programowania oparty na stronach, który ułatwia tworzenie internetowego interfejsu użytkownika, czyniąc je łatwiejszym i bardziej wydajnym. Zalecamy wypróbowanie samouczka razor Pages przed wersją MVC. Samouczek Razor Pages
- Jest łatwiejsze do naśladowania.
- Obejmuje więcej funkcji.
- Jest preferowanym podejściem do tworzenia nowych aplikacji.
W tej sekcji dodasz kilka klas do zarządzania filmami w bazie danych. Te klasy będą częścią "modelu" aplikacji MVC ASP.NET.
Użyjesz technologii dostępu do danych programu .NET Framework znanej jako Entity Framework , aby zdefiniować te klasy modeli i pracować z tymi klasami. Platforma Entity Framework (często nazywana EF) obsługuje paradygmat programowania o nazwie Code First. Funkcja Code First umożliwia tworzenie obiektów modelu przez pisanie prostych klas. (Są one również nazywane klasami POCO od "plain-old CLR objects"). Następnie możesz dynamicznie utworzyć bazę danych bezpośrednio z tych klas, co pozwala na bardzo przejrzysty i szybki przepływ pracy podczas tworzenia. Jeśli musisz najpierw utworzyć bazę danych, możesz skorzystać z tego samouczka, aby dowiedzieć się więcej o tworzeniu aplikacji MVC i EF. Następnie możesz skorzystać z samouczka Toma Fizmakens ASP.NET Scaffolding, który obejmuje podejście "database-first".
Dodawanie klas modelu
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy folder Models, wybierz polecenie Dodaj, a następnie wybierz pozycję Klasa.
Wprowadź nazwę klasy "Movie".
Dodaj do klasy następujące pięć właściwości Movie :
using System;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
}
Użyjemy Movie klasy do reprezentowania filmów w bazie danych. Każde wystąpienie Movie obiektu będzie odpowiadać wierszowi w tabeli bazy danych, a każda właściwość Movie klasy będzie mapować na kolumnę w tabeli.
Uwaga: aby używać elementu System.Data.Entity i powiązanej klasy, należy zainstalować pakiet NuGet programu Entity Framework. Aby uzyskać dalsze instrukcje, postępuj zgodnie z linkiem.
W tym samym pliku dodaj następującą MovieDBContext klasę:
using System;
using System.Data.Entity;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
}
Klasa MovieDBContext reprezentuje kontekst bazy danych filmów programu Entity Framework, który obsługuje pobieranie, przechowywanie i aktualizowanie Movie wystąpień klas w bazie danych. Element MovieDBContext pochodzi z klasy bazowej DbContext dostarczonej przez program Entity Framework.
Aby móc odwoływać się do DbContext i DbSet, należy dodać następującą instrukcję using na początku pliku.
using System.Data.Entity;
Możesz to zrobić, ręcznie dodając instrukcję using, lub możesz umieścić kursor nad czerwonymi liniami falistymi, kliknąć Show potential fixes i kliknąć using System.Data.Entity;
Uwaga: kilka nieużywanych instrukcji using zostało usuniętych. Program Visual Studio wyświetli nieużywane zależności jako szare. Nieużywane zależności można usunąć, umieszczając kursor na szarych zależnościach, klikając i klikając Show potential fixes pozycję Usuń nieużywane użycie.
W końcu dodaliśmy model (M w MVC). W następnej sekcji będziesz pracować z parametrami połączenia bazy danych.