Sdílet prostřednictvím


Přidání modelu (C#)

Rick Anderson

V tomto kurzu se naučíte základy vytváření webové aplikace ASP.NET MVC pomocí sady Microsoft Visual Web Developer 2010 Express Service Pack 1, což je bezplatná verze sady Microsoft Visual Studio. Než začnete, ujistěte se, že jste nainstalovali níže uvedené požadavky. Všechny z nich můžete nainstalovat kliknutím na následující odkaz: Instalační program webové platformy. Případně můžete jednotlivé požadavky nainstalovat pomocí následujících odkazů:

Pokud používáte Sadu Visual Studio 2010 místo visual web developeru 2010, nainstalujte požadované součásti kliknutím na následující odkaz: Požadavky sady Visual Studio 2010.

K tomuto tématu je k dispozici projekt Visual Web Developer se zdrojovým kódem jazyka C#. Stáhněte si verzi jazyka C#. Pokud dáváte přednost jazyku Visual Basic, přepněte do verze jazyka Visual Basic tohoto kurzu.

Přidání modelu

V této části přidáte některé třídy pro správu filmů v databázi. Tyto třídy budou součástí "modelu" aplikace ASP.NET MVC.

K definování a práci s těmito třídami modelu použijete technologii pro přístup k datům rozhraní .NET Framework označovanou jako Entity Framework. Entity Framework (často označovaný jako EF) podporuje vývojové paradigma s názvem Code First. Code First umožňuje vytvářet objekty modelu psaním jednoduchých tříd. (Označují se také jako třídy POCO, z "prostých objektů CLR".) Pak můžete mít databázi vytvořenou průběžně z vašich tříd, což umožňuje velmi čistý a rychlý vývoj pracovního postupu.

Přidání tříd modelů

V Průzkumník řešení klikněte pravým tlačítkem na složku Modely, vyberte Přidat a pak vyberte Třída.

Snímek obrazovky znázorňující okno Průzkumník řešení Možnost Přidat je vybrána v nabídce Po kliknutí pravým tlačítkem myši modely. Třída je vybrána v pod menu.

Pojmenujte třídu "Movie".

CreateMovieClass

Do třídy přidejte následující pět vlastností 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; }
}

Třídu použijeme Movie k reprezentaci filmů v databázi. Každá instance objektu Movie bude odpovídat řádku v tabulce databáze a každá vlastnost Movie třídy se mapuje na sloupec v tabulce.

Do stejného souboru přidejte následující MovieDBContext třídu:

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

Třída MovieDBContext představuje kontext filmové databáze Entity Framework, který zpracovává načítání, ukládání a aktualizaci Movie instancí třídy v databázi. Odvozena MovieDBContext ze DbContext základní třídy poskytované Entity Framework. Další informace o DbContext službě Entity Framework naleznete DbSetv tématu Vylepšení produktivity.

Abyste mohli odkazovat DbContext a DbSet, musíte do horní části souboru přidat následující using příkaz:

using System.Data.Entity;

Úplný Movie.cs soubor je uvedený níže.

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; } 
    }
}

Vytvoření připojovacího řetězce a práce s SQL Serverem Compact

Třída MovieDBContext , kterou jste vytvořili, zpracovává úlohu připojení k databázi a mapování Movie objektů na záznamy databáze. Jednou z otázek, na kterou se ale můžete zeptat, je způsob, jak určit, ke které databázi se připojí. Uděláte to tak, že do souboru Web.config aplikace přidáte informace o připojení.

Otevřete kořenový soubor Web.config aplikace. (Ne Soubor Web.config ve složce Views .) Na následujícím obrázku jsou oba soubory Web.config . Otevřete soubor Web.config zakroužkovaný červeně.

Snímek obrazovky znázorňující okno Průzkumník řešení Konfigurace tečky webu je zakroužkovaná červeně.

Do elementu <connectionStrings> v souboru Web.config přidejte následující připojovací řetězec.

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

Následující příklad ukazuje část souboru Web.config s novým přidaným připojovací řetězec:

<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>

Toto malé množství kódu a XML je vše, co potřebujete k zápisu, aby reprezentoval a ukládal filmová data do databáze.

Dále vytvoříte novou MoviesController třídu, pomocí které můžete zobrazit data filmů a umožnit uživatelům vytvářet nové výpisy filmů.