Adicionar um modelo (C#)
por Rick Anderson
Este tutorial ensinará os conceitos básicos da criação de um aplicativo Web MVC ASP.NET usando o Microsoft Visual Web Developer 2010 Express Service Pack 1, que é uma versão gratuita do Microsoft Visual Studio. Antes de começar, verifique se você instalou os pré-requisitos listados abaixo. Você pode instalar todos eles clicando no seguinte link: Web Platform Installer. Como alternativa, você pode instalar individualmente os pré-requisitos usando os seguintes links:
- Pré-requisitos do Visual Studio Web Developer Express SP1
- Atualização de ferramentas do ASP.NET MVC 3
- SQL Server Compact 4.0 (tempo de execução + suporte a ferramentas)
Se você estiver usando o Visual Studio 2010 em vez do Visual Web Developer 2010, instale os pré-requisitos clicando no seguinte link: Pré-requisitos do Visual Studio 2010.
Um projeto do Visual Web Developer com código-fonte C# está disponível para acompanhar este tópico. Baixe a versão C#. Se você preferir o Visual Basic, alterne para a versão Visual Basic deste tutorial.
Adicionar um modelo
Nesta seção, você adicionará algumas classes para gerenciar filmes em um banco de dados. Essas classes serão a parte "modelo" do aplicativo MVC ASP.NET.
Você usará uma tecnologia de acesso a dados do .NET Framework conhecida como Entity Framework para definir e trabalhar com essas classes de modelo. O Entity Framework (geralmente chamado de EF) dá suporte a um paradigma de desenvolvimento chamado Code First. O Code First permite que você crie objetos de modelo escrevendo classes simples. (Elas também são conhecidas como classes POCO, de "objetos CLR simples".) Você pode então criar o banco de dados em tempo real a partir de suas aulas, o que permite um fluxo de trabalho de desenvolvimento muito limpo e rápido.
Adicionando classes de modelo
No Gerenciador de Soluções, clique com o botão direito do mouse na pasta Modelos , selecione Adicionar e, em seguida, selecione Classe.
Nomeie a classe como "Filme".
Adicione as cinco propriedades a seguir à Movie
classe:
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; }
}
Usaremos a Movie
classe para representar filmes em um banco de dados. Cada instância de um Movie
objeto corresponderá a uma linha dentro de uma tabela de banco de dados e cada propriedade da Movie
classe será mapeada para uma coluna na tabela.
No mesmo arquivo, adicione a seguinte MovieDBContext
classe:
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
A MovieDBContext
classe representa o contexto de banco de dados de filme do Entity Framework, que lida com a busca, o armazenamento e a atualização Movie
de instâncias de classe em um banco de dados. O MovieDBContext
deriva da DbContext
classe base fornecida pelo Entity Framework. Para obter mais informações sobre DbContext
e , consulte Melhorias de produtividade para o Entity FrameworkDbSet
.
Para poder fazer referência DbContext
a e DbSet
, você precisa adicionar a seguinte using
instrução na parte superior do arquivo:
using System.Data.Entity;
O arquivo Movie.cs completo é mostrado abaixo.
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; }
}
}
Criando uma cadeia de conexão e trabalhando com o SQL Server Compact
A MovieDBContext
classe que você criou lida com a tarefa de se conectar ao banco de dados e mapear Movie
objetos para registros de banco de dados. Uma pergunta que você pode fazer, no entanto, é como especificar a qual banco de dados ele se conectará. Você fará isso adicionando informações de conexão no arquivo Web.config do aplicativo.
Abra o arquivo Web.config raiz do aplicativo. (Não o Web.config na pasta Exibições.) A imagem abaixo mostra os dois arquivos Web.config; abra o arquivo Web.config circulado em vermelho.
Adicione a cadeia de conexão a seguir ao <connectionStrings>
elemento no arquivo Web.config .
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
O exemplo a seguir mostra uma parte do arquivo Web.config com a nova cadeia de conexão adicionada:
<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>
Essa pequena quantidade de código e XML é tudo o que você precisa escrever para representar e armazenar os dados do filme em um banco de dados.
Em seguida, você criará uma nova MoviesController
classe que pode ser usada para exibir os dados do filme e permitir que os usuários criem novas listagens de filmes.