PRDS 2011.1
C#.Net
Alexandre L. Silva
[email protected]
Programa
1. MVC
2. Banco de dados
3. Projeto de exemplo
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
2
MVC
• Três componentes principais:
– Modelo
– Visão
– Controle
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
3
MVC
• Modelo
– Parte da aplicação que define a lógica dos dados
• Visão
– Componentes que definem a interface com o usuário
– Somente mostram informações
• Controle
– Componentes que recebem a interação do usuário, trabalha com o
modelo e define em que parte da visão os dados serão exibidos
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
4
Banco de dados
1. Criar um projeto ASP.NET MVC Web Application
2. Criar o banco de dados com uma tabela
3. Criar o modelo desse banco no projeto
4. Criar o controle ASP.NET MVC
5. Criar a visão ASP.NET MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
5
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
6
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
7
MVC
• Apagar os arquivos
– Controllers\HomeController.cs
– Views\Home
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
8
MVC
1. Clicar com o botão direito do mouse no diretório App_Dara,
escolher Add, New Item
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
9
MVC
• Na janela Server Explorer, clicar em Tables e escolher Add New
Table
15/7/2011
Column Name
Data Type
Allow Nulls
Id
Int
False
Title
Nvarchar(100)
False
Director
Nvarchar(100)
False
DateReleased
DateTime
False
Alexandre L. Silva © LES/PUC - Rio
10
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
11
MVC
• Na janela do Server Explorer , clicar no nome da tabela e
escolher Show Table Data
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
12
MVC
• Criar o modelo:
1. Na janela Solution Explorer, clicar na pasta Models e escolher
Add, New Item
2. Escolher a categoria Data e selecionar ADO.NET Entity Data
Model
3. Escolher o nome MoviesDBModel.edmx e clicar em Add
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
13
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
14
MVC
1. Na etapa Choose Model Contents, escolher a opção Generate
from database
2. Na etapa Choose Your Data Connection, escolher o MoviesDB.mdf
e colocar o nome MoviesDBEntities. Clicar em Next.
3. Na etapa Choose Your Database Objects, escolher Tables e a
tabela Movies. No namespace, colocar MovieApp.Models.
4. Fim
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
15
MVC
• Mudar o nome da classe para Movie
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
16
MVC
• Criando o controller
1. Na janela do Solution Explorer, clicar na pasta Controllers,
escolher Add, Controller.
2. Escolher o nome HomeController e marcar a opção Add action
methods for Create, Update, and Details scenarios
3. Clicar em Add
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
17
MVC
• Listar os objetos que estão no banco
• HomeController.cs
– Adicionar a biblioteca: using MovieApp.Models;
– Antes do método Index(), declarar:
• private MoviesDBEntities _db = new MoviesDBEntities();
– Dentro do método Index(), alterar:
• return View(_db.MovieSet.ToList());
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
18
MVC
• Compilar a aplicação:
– Menu Build, Build Solution
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
19
MVC
• Adicionar a visão
– Clicar no método Index() e escolher Add View
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
20
MVC
• Marcar a opção Create a strongly-typed view
• Na lista View content, escolher a opção List
• Na lista View data class, escolher a opção
MovieApp.Models.Movie
• Clicar em Add
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
21
MVC
• Rodar a aplicação
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
22
MVC
• Inserir dados
1. No arquivo Controllers\HomeController.cs, modificar o método
Create
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
23
MVC
[HttpPost]
public ActionResult Create([Bind(Exclude="Id")] Movies movieToCreate)
{
try
{
if (!ModelState.IsValid)
return View();
_db.AddToMovies(movieToCreate);
_db.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
24
MVC
• Clicar no método Create e escolher Add View.
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
25
MVC
• Clicar no método Edit() e escolher Add View
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
26
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
27
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
28
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
29
MVC
15/7/2011
Alexandre L. Silva © LES/PUC - Rio
30
Download

BD e MVC - (LES) da PUC-Rio