Sdílet prostřednictvím


Přidání modelu (2012)

Rick Anderson

Poznámka

Aktualizovaná verze tohoto kurzu je k dispozici tady, která používá ASP.NET MVC 5 a Visual Studio 2013. Je bezpečnější, je mnohem jednodušší ho sledovat a ukazuje více funkcí.

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

K definování těchto tříd modelů a práci s těmito třídami modelů použijete technologii přístupu k datům .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. (Tyto třídy jsou také známé jako třídy POCO z "prostých objektů CLR".) Databázi pak můžete nechat vytvořit za běhu ze svých tříd, což umožňuje velmi čistý a rychlý vývoj pracovního postupu.

Přidání tříd modelu

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

Snímek obrazovky znázorňující okno Průzkumník řešení Možnost Přidat je vybraná v místní nabídce Modely a v podnábídce je vybraná možnost Třída.

Zadejte název třídy "Movie".

Přidejte do třídy následujících 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 k reprezentaci Movie filmů v databázi. Každá instance objektu Movie bude odpovídat řádku v databázové tabulce a každá vlastnost Movie třídy bude mapovat 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. Je MovieDBContext odvozen ze DbContext základní třídy poskytované Entity Framework.

Abyste mohli odkazovat na DbContext a DbSet, musíte na začátek souboru přidat následující using příkaz:

using System.Data.Entity;

Kompletní soubor Movie.cs je zobrazený níže. (Bylo odebráno několik příkazů using, které nejsou potřeba.)

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 databází SQL Serveru LocalDB

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, kterou si můžete položit, je, jak určit, ke které databázi se bude připojovat. Uděláte to tak, že do souboruWeb.config aplikace přidáte informace o připojení.

Otevřete kořenový Web.config soubor aplikace. (Nejedná se o souborWeb.config ve složce Zobrazení .) Otevřete červeně Web.configsoubor.

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

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

<add name="MovieDBContext" 
   connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
   providerName="System.Data.SqlClient" 
/>

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

<connectionStrings>
  <add name="DefaultConnection" 
       connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" 
       providerName="System.Data.SqlClient" 
  />    
  <add name="MovieDBContext" 
       connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
       providerName="System.Data.SqlClient" 
  /> 
</connectionStrings>

Toto malé množství kódu a XML je vše, co potřebujete napsat, aby bylo možné znázorňovat a ukládat filmová data v databázi.

V dalším kroku vytvoříte novou MoviesController třídu, pomocí které můžete zobrazit data filmů a umožnit uživatelům vytvářet nové záznamy filmů.