Přidání modelu (2012)
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).
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.
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ů.