Dodawanie modelu (C#)
Autor: Rick Anderson
Ten samouczek zawiera podstawowe informacje na temat tworzenia aplikacji internetowej MVC ASP.NET przy użyciu dodatku Microsoft Visual Web Developer 2010 Express Service Pack 1, który jest bezpłatną wersją programu Microsoft Visual Studio. Przed rozpoczęciem upewnij się, że zostały zainstalowane wymagania wstępne wymienione poniżej. Wszystkie te elementy można zainstalować, klikając następujący link: Instalator platformy internetowej. Alternatywnie można indywidualnie zainstalować wymagania wstępne, korzystając z następujących linków:
- Wymagania wstępne programu Visual Studio Web Developer Express SP1
- aktualizacja narzędzi ASP.NET MVC 3
- SQL Server Compact 4.0 (środowisko uruchomieniowe i obsługa narzędzi)
Jeśli używasz programu Visual Studio 2010 zamiast Visual Web Developer 2010, zainstaluj wymagania wstępne, klikając następujący link: Wymagania wstępne programu Visual Studio 2010.
Projekt Visual Web Developer z kodem źródłowym języka C# jest dostępny do dołączenia do tego tematu. Pobierz wersję języka C#. Jeśli wolisz visual basic, przejdź do wersji Visual Basic tego samouczka.
Dodawanie modelu
W tej sekcji dodasz kilka klas do zarządzania filmami w bazie danych. Te klasy będą częścią "modelu" aplikacji ASP.NET MVC.
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 z "zwykłych obiektów CLR". Następnie możesz utworzyć bazę danych na bieżąco z klas, co umożliwia bardzo czysty i szybki przepływ pracy tworzenia.
Dodawanie klas modelu
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy folder Models, wybierz polecenie Dodaj, a następnie wybierz pozycję Klasa.
Nadaj klasie nazwę "Movie".
Dodaj do klasy następujące pięć właściwości Movie
:
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.
W tym samym pliku dodaj następującą MovieDBContext
klasę:
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 uzyskać więcej informacji o systemach DbContext
i DbSet
, zobacz Ulepszenia produktywności dla programu Entity Framework.
Aby móc odwoływać DbContext
się do elementu i DbSet
, należy dodać następującą using
instrukcję w górnej części pliku:
using System.Data.Entity;
Poniżej przedstawiono kompletny plik Movie.cs .
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; }
}
}
Tworzenie parametrów połączenia i praca z programem SQL Server Compact
Utworzona MovieDBContext
klasa obsługuje zadanie nawiązywania połączenia z bazą danych i mapowanie Movie
obiektów na rekordy bazy danych. Jednym z pytań, które można zadać, jest jednak określenie, z którą bazą danych będzie się łączyć. W tym celu należy dodać informacje o połączeniu w pliku Web.config aplikacji.
Otwórz główny plik Web.config aplikacji. (Nie Plik Web.config w folderze Views . Na poniższej ilustracji przedstawiono oba pliki Web.config . Otwórz plik Web.config w kolorze czerwonym.
Dodaj następujący parametry połączenia do <connectionStrings>
elementu w pliku Web.config.
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
W poniższym przykładzie pokazano część pliku Web.config z dodanym nowym parametry połączenia:
<configuration>
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
Ta niewielka ilość kodu i kodu XML to wszystko, co musisz napisać, aby reprezentować i przechowywać dane filmu w bazie danych.
Następnie utworzysz nową MoviesController
klasę, której można użyć do wyświetlania danych filmu i umożliwienia użytkownikom tworzenia nowych list filmów.