Partilhar via


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:

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.

Captura de tela que mostra a janela do Gerenciador de Soluções. Adicionar está selecionado no menu do botão direito do mouse em Modelos. A classe é selecionada no submenu.

Nomeie a classe como "Filme".

CreateMovieClass

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.

Captura de tela que mostra a janela do Gerenciador de Soluções. A configuração do ponto da Web está circulada 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.