Dodawanie modelu (C#)

Autor: Rick Anderson

W tym samouczku przedstawiono podstawy tworzenia aplikacji internetowej ASP.NET MVC przy użyciu programu 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 z nich 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:

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 program 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 .NET Framework technologii dostępu do danych 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 Modele, wybierz pozycję Dodaj, a następnie wybierz pozycję Klasa.

Zrzut ekranu przedstawiający okno Eksplorator rozwiązań. Opcja Dodaj jest zaznaczona w menu kliknij prawym przyciskiem myszy modele. Klasa jest zaznaczona w menu podrzędnym.

Nadaj klasie nazwę "Movie".

CreateClass

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 platformy Entity Framework, który obsługuje pobieranie, przechowywanie i aktualizowanie Movie wystąpień klas w bazie danych. Element MovieDBContext pochodzi z klasy bazowej dostarczonej DbContext przez platformę Entity Framework. Aby uzyskać więcej informacji o systemach DbContext i DbSet, zobacz Ulepszenia produktywności dla platformy 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;

Pełny plik Movie.cs jest pokazany poniżej.

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 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ń, z którymi można się jednak zadać, jest określenie, z którą bazą danych będzie się łączyć. Zrobisz to, dodając informacje o połączeniu w pliku Web.config aplikacji.

Otwórz plik Web.config katalogu głównego aplikacji. (Nie plik Web.config w folderze Views ). Na poniższej ilustracji przedstawiono oba plikiWeb.config ; otwórz plikWeb.config w kolorze czerwonym.

Zrzut ekranu przedstawiający okno Eksplorator rozwiązań. Konfiguracja kropki internetowej jest okrągła na czerwono.

Dodaj następujące 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 przedstawiono część pliku Web.config z dodanymi nowymi parametrami 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 należy 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.