Iniciando com ASP.Net MVC 3 (Parte 4)


Adicionando um Modelo (C#)

Adicionando um modelo

Nesta seção você irá adicionar algumas classes para gerenciar os filmes em um banco de dados. Estas classes serão a parte "model" da aplicação ASP.NET MVC.

Você usará um Framework .Net de acesso aos dados conhecido como Entity Framework para definir e trabalhar com estas classes model. O Entity Framework (frequentemente referenciado como EF) suporta um paradigma de desenvolvimento chamado Codifique Primeiro. Codifique primeiro permite você criar um modelo de objetos pela escrita de uma classe simples. (Estes também são conhecidos como classes POCO, sigla para "plain old CLR objects"). Você pode então ter um banco de dados criado a partir de suas classes, o qual habilita um fluxo de desenvolvimento limpo e rápido.

Adicionando Classes Model

Em Solution Explorer, clique na pasta Models, selecione Add, e então selecione Class.

Dê o nome da classe de "Movie".

CreateMovieClass

Adicione as cinco propriedades seguintes para a classe 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; }
}
Usaremos a classe Movie para representar filmes em um banco de dados. Cada instância de um objeto Movie corresponde a uma linha dentro de uma tabela do banco de dados, e cada propriedade da classe Movie irá mapear uma coluna na tabela.

No mesmo arquivo, adicione a seguinte classe: MovieDBContext 
public class MovieDBContext : DbContext {
    public DbSet<Movie> Movies { get; set; } }
A classe MovieDBContext representa o contexto de banco de dados do filme Entity Framework, o qual manipula a leitura, armazenamento e atualização da instância da classe Movie em um banco de dados. O MovieDBContext  deriva da classe base DbContext provida pelo Entity Framework. Para mais informações sobre DbContext and DbSet veja o artigo  Productivity Improvements for the Entity Framework.

A fim de ser capaz de referenciar DbContext DbSet, você precisa adicionar a seguinte declaração using na parte superior do arquivo:
using System.Data.Entity;

O arquivo completo Movie.cs é exibido 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 string de conexão e trabalhando com SQL Server Compact

A classe MovieDBContext que você criou manipula a tarefa de conexão para o banco de dados e mapeia o objeto Movie para o registro do banco de dados. Uma questão que você deve fazer, no entanto, é como especificar qual banco de dados ele irá se conectar. Você fará isso pela adição da informação de conexão no arquivo Web.config da aplicação.


Abra o arquivo Web.config da aplicação principal. (Não o arquivo Web.config que está na pasta Views.) A imagem abaixo mostra ambos arquivos Web.config; abra o arquivo Web.config circulado em vermelho.



Adicione a seguinte string de conexão para o elemento <connectionStrings> no arquivo Web.config.

    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
O seguinte exemplo mostra uma parte do arquivo Web.config com a nova string 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>
Este pequeno trecho de código e XML é tudo o que você precisa para escrever na ordem para representar e armazenar os dados do filme no banco de dados.

No próximo passo, você construirá uma nova classe MoviesController que você usará para exibir os dados do filme e permitir os usuários criarem uma nova lista de filmes.






2 comentários: