Buscar

EF Database First com ASP.NET MVC5 Por Tom FitzMacken

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Informações do autor
FitzMacken de Tom -Tom FitzMacken é um escritor de programação sênior da 
equipe de plataforma Web & ferramentas de conteúdo.
Por Tom FitzMacken | última atualização de 1 de outubro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados. Na última parte da série, 
você implantará o site e banco de dados para o Azure.
Esta parte da série centra-se na criação de um banco de dados e populá-lo com dados.
Esta série foi escrita com contribuições de Tom Dykstra e Rick Anderson. Isso foi melhorado com base no 
feedback de usuários na seção de comentários.
Introdução
Este tópico mostra como começar com um existente do banco de dados e criar rapidamente uma 
aplicação web que permite aos usuários interagir com os dados. Ele usa o Entity Framework 6 e 5 do 
MVC para criar o aplicativo web. O recurso de andaime do ASP.NET permite que você gerar 
automaticamente código para exibir, atualizar, criar e excluir dados. Usando as ferramentas de 
publicação dentro do Visual Studio, você pode facilmente implantar o site e banco de dados para o 
Azure.
Este tópico aborda a situação onde você tem um banco de dados e deseja gerar código para um 
aplicativo web baseado nos campos de banco de dados. Esta abordagem é chamada de 
desenvolvimento de banco de dados primeiro. Se você não tiver um banco de dados existente, você 
pode usar uma abordagem denominada código primeiro desenvolvimento que envolve a definição de 
classes de dados e gerar o banco de dados das propriedades de classe.
Para obter um exemplo introdutório de código primeiro desenvolvimento, consulte Introdução ao 
ASP.NET MVC 5.Para um exemplo mais avançado, consulte criando um modelo de dados entidade 
Framework para um ASP.NET MVC 4 App.
Para orientação sobre como selecionar qual abordagem Entity Framework para usar, 
consulte Abordagens de desenvolvimento de Framework de entidade.
Pré-requisitos
Visual Studio 2013 ou Visual Studio Express 2013 para Web
Configurar o banco de dados
Para simular o ambiente de ter um banco de dados existente, você irá primeiro criar um banco de dados 
com alguns dados pré-preenchidos e crie seu aplicativo da web que se conecta ao banco de dados.
Este tutorial foi desenvolvido usando LocalDB com Visual Studio 2013 ou Visual Studio Express 2013 
Introdução
sexta-feira, 12 de junho de 2015 11:57
 Página 1 de EF Database First com ASP.NET MVC5 
Este tutorial foi desenvolvido usando LocalDB com Visual Studio 2013 ou Visual Studio Express 2013 
para Web. Você pode usar um servidor de banco de dados existente em vez de LocalDB, mas 
dependendo da versão do Visual Studio e o tipo de banco de dados, todas as ferramentas de dados no 
Visual Studio podem não ser suportadas. Se as ferramentas não estão disponíveis para seu banco de 
dados, você pode precisar realizar algumas das etapas dentro da suíte de gerenciamento de banco de 
dados específico para seu banco de dados.
Se você tem um problema com as ferramentas de banco de dados na sua versão do Visual Studio, 
certifique-se que você instalou a versão mais recente das ferramentas de banco de dados. Para obter 
informações sobre como atualizar ou instalar as ferramentas de banco de dados, consulte Ferramentas 
de dados do Microsoft SQL Server.
Inicie o Visual Studio e criar um Projeto de banco de dados do SQL Server. Nomeie o 
projetoContosoUniversityData.
Agora você tem um projeto de banco de dados vazio. Você implantará esse banco de dados para o 
Azure no final deste tutorial, então você precisará definir o banco de dados SQL Azure como a 
plataforma de destino para o projeto. Configuração da plataforma de destino não realmente implantar o 
banco de dados; significa apenas que o projeto de banco de dados irá verificar que o projeto de banco 
de dados é compatível com a plataforma de destino.Para definir a plataforma de destino, abra 
as Propriedades do projeto e selecione o Banco de dados SQL do Microsoft Azure para a plataforma 
de destino.
 Página 2 de EF Database First com ASP.NET MVC5 
Você pode criar as tabelas necessárias para este tutorial, adicionando scripts SQL que definem as 
tabelas. Botão direito do mouse seu projeto e adicione um novo item.
Adicione uma nova tabela chamada estudante.
 Página 3 de EF Database First com ASP.NET MVC5 
No arquivo de tabela, substitua o comando T-SQL com o código a seguir para criar a tabela.
CREATE TABLE [dbo].[Student] (
 [StudentID] INT IDENTITY (1, 1) NOT NULL,
 [LastName] NVARCHAR (50) NULL,
 [FirstName] NVARCHAR (50) NULL,
 [EnrollmentDate] DATETIME NULL,
 PRIMARY KEY CLUSTERED ([StudentID] ASC)
)
Observe que a janela de design sincroniza automaticamente com o código. Você pode trabalhar com o 
código ou designer.
Adicione outra tabela. Desta vez, nome do curso e use o seguinte comando T-SQL.
CREATE TABLE [dbo].[Course] (
 Página 4 de EF Database First com ASP.NET MVC5 
CREATE TABLE [dbo].[Course] (
 [CourseID] INT IDENTITY (1, 1) NOT NULL,
 [Title] NVARCHAR (50) NULL,
 [Credits] INT NULL,
 PRIMARY KEY CLUSTERED ([CourseID] ASC)
)
E, repito mais uma vez para criar uma tabela chamada inscrição.
CREATE TABLE [dbo].[Enrollment] (
 [EnrollmentID] INT IDENTITY (1, 1) NOT NULL,
 [Grade] DECIMAL(3, 2) NULL,
 [CourseID] INT NOT NULL,
 [StudentID] INT NOT NULL,
 PRIMARY KEY CLUSTERED ([EnrollmentID] ASC),
 CONSTRAINT [FK_dbo.Enrollment_dbo.Course_CourseID] FOREIGN KEY ([CourseID]) 
 REFERENCES [dbo].[Course] ([CourseID]) ON DELETE CASCADE,
 CONSTRAINT [FK_dbo.Enrollment_dbo.Student_StudentID] FOREIGN KEY ([StudentID]) 
 REFERENCES [dbo].[Student] ([StudentID]) ON DELETE CASCADE
)
Você pode preencher o banco de dados com dados através de um script que é executado depois que o 
banco de dados é implantado. Adicione um Script de pós-implantação para o projeto. Você pode usar o 
nome padrão.
Adicione o seguinte código T-SQL para o script de pós-implantação. Este script simplesmente adiciona 
dados ao banco de dados quando nenhum registro correspondente for encontrado. Não substituir ou 
apagar quaisquer dados que você pode ter digitado no banco de dados.
MERGE INTO Course AS Target
USING (VALUES 
 (1, 'Economics', 3), 
 (2, 'Literature', 3), 
 (3, 'Chemistry', 4)
) 
AS Source (CourseID, Title, Credits) 
ON Target.CourseID = Source.CourseID
WHEN NOT MATCHED BY TARGET THEN 
INSERT (Title, Credits) 
VALUES (Title, Credits);
 Página 5 de EF Database First com ASP.NET MVC5 
VALUES (Title, Credits);
MERGE INTO Student AS Target
USING (VALUES 
 (1, 'Tibbetts', 'Donnie', '2013-09-01'), 
 (2, 'Guzman', 'Liza', '2012-01-13'), 
(3, 'Catlett', 'Phil', '2011-09-03')
)
AS Source (StudentID, LastName, FirstName, EnrollmentDate)
ON Target.StudentID = Source.StudentID
WHEN NOT MATCHED BY TARGET THEN
INSERT (LastName, FirstName, EnrollmentDate)
VALUES (LastName, FirstName, EnrollmentDate);
MERGE INTO Enrollment AS Target
USING (VALUES 
(1, 2.00, 1, 1),
(2, 3.50, 1, 2),
(3, 4.00, 2, 3),
(4, 1.80, 2, 1),
(5, 3.20, 3, 1),
(6, 4.00, 3, 2)
)
AS Source (EnrollmentID, Grade, CourseID, StudentID)
ON Target.EnrollmentID = Source.EnrollmentID
WHEN NOT MATCHED BY TARGET THEN
INSERT (Grade, CourseID, StudentID)
VALUES (Grade, CourseID, StudentID);
É importante notar queo script de pós-implantação é executado sempre que você implantar o seu 
projeto de banco de dados. Portanto, você precisa considerar cuidadosamente suas necessidades ao 
escrever este script. Em alguns casos, você pode desejar começar de um conjunto conhecido de dados 
cada vez que o projeto será implantado. Em outros casos, você não pode querer alterar os dados 
existentes de qualquer maneira. Com base em suas necessidades, você pode decidir se você precisa de 
um script de pós-implantação, ou o que você precisa incluir no script. Para obter mais informações sobre 
como preencher o seu banco de dados com um script de pós-implantação, consulte Incluindo dados em 
um projeto de banco de dados do SQL Server.
Agora você tem 4 arquivos de script SQL mas sem tabelas reais. Você está pronto para implantar seu 
projeto de banco de dados para localdb. No Visual Studio, clique o botão Iniciar (ou F5) para construir e 
implantar seu projeto de banco de dados. Selecione a guia de saída para verificar que a criação e a 
implantação bem-sucedida.
Para ver que o novo banco de dados foi criado, abra o Pesquisador de objetos do SQL Server e 
procure o nome do projeto no servidor de banco de dados local correto (no presente caso (localdb) 
\ProjectsV12).
 Página 6 de EF Database First com ASP.NET MVC5 
Para ver que as tabelas são preenchidas com dados, uma tabela com o botão direito e selecione Exibir 
dados.
Uma exibição editável dos dados da tabela é exibida.
Seu banco de dados agora é criado e preenchido com dados. O próximo tutorial, você criará um 
aplicativo web para o banco de dados.
Este artigo foi originalmente criado em 31 de janeiro de 2014
De <http://www.asp.net/mvc/overview/getting-started/database-first-development/setting-up-database> 
 Página 7 de EF Database First com ASP.NET MVC5 
Por Tom FitzMacken | última atualização de 1 de outubro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados.
Esta parte da série centra-se na criação do aplicativo da web e gerar os modelos de dados com base em 
suas tabelas de banco de dados.
Criar um novo aplicativo da Web do ASP.NET
Em uma nova solução ou a mesma solução que o projeto de banco de dados, crie um novo projeto no 
Visual Studio e selecione o modelo de aplicativo da Web ASP.NET . Nomeie o projeto ContosoSite.
Clique em OK.
Na janela novo projeto ASP.NET, selecione o modelo MVC . Você pode desmarcar a opção Host na 
nuvem por agora, porque você irá implantar o aplicativo para a nuvem mais tarde. Clique em OK para 
criar o aplicativo.
Criando a aplicação Web e modelos de dados
sexta-feira, 12 de junho de 2015 12:00
 Página 8 de EF Database First com ASP.NET MVC5 
O projeto é criado com o padrão arquivos e pastas.
Neste tutorial, você usará o Entity Framework 6. Você pode verificar a versão do Entity Framework em 
seu projeto através da janela de gerenciar pacotes de NuGet. Se necessário, atualize sua versão do Entity 
Framework.
Gerar os modelos
Agora você criará modelos Entity Framework das tabelas do banco de dados. Estes modelos são as 
classes que você irá usar para trabalhar com os dados. Cada modelo espelha uma tabela no banco de 
dados e contém propriedades que correspondem às colunas na tabela.
Botão direito do mouse na pasta modelos e selecione Add e New Item.
 Página 9 de EF Database First com ASP.NET MVC5 
Na janela Add New Item, selecione dados no painel esquerdo e ADO.NET Entity Data Model as opções 
no painel central. Nomeie o novo arquivo de modelo ContosoModel.
Clique em Adicionar.
No assistente de modelo de dados de entidade, selecione EF Designer de banco de dados.
 Página 10 de EF Database First com ASP.NET MVC5 
Clique em Next.
Se você tem conexões de banco de dados definidas dentro do seu ambiente de desenvolvimento, você 
pode ver uma dessas conexões pré-selecionados. No entanto, você deseja criar uma nova conexão ao 
banco de dados que você criou na primeira parte deste tutorial. Clique no botão New Connection .
 Página 11 de EF Database First com ASP.NET MVC5 
Na janela Propriedades de conexão, forneça o nome do servidor local onde seu banco de dados foi 
criado (neste caso \ProjectsV12 (localdb)). Depois de fornecer o nome do servidor, selecione o 
ContosoUniversityData os bancos de dados disponíveis.
 Página 12 de EF Database First com ASP.NET MVC5 
Clique em OK.
As propriedades de conexão correta agora são exibidas. Você pode usar o nome padrão para conexão 
no arquivo Web. config
 Página 13 de EF Database First com ASP.NET MVC5 
Clique em Next.
Selecione tabelas para gerar modelos para todas as três tabelas.
 Página 14 de EF Database First com ASP.NET MVC5 
Clique em concluir.
Se você receber um aviso de segurança, selecione OK para continuar a executar o modelo.
Os modelos são gerados a partir de tabelas de banco de dados, e um diagrama é exibido que mostra as 
propriedades e os relacionamentos entre as tabelas.
A pasta de modelos agora inclui muitos novos arquivos relacionados aos modelos que foram gerados a 
partir do banco de dados.
 Página 15 de EF Database First com ASP.NET MVC5 
O arquivo ContosoModel.Context.cs contém uma classe que deriva da classe DbContext e fornece 
uma propriedade para cada classe de modelo que corresponde a uma tabela de banco de dados. Os 
arquivos Course.cs,Enrollment.cse Student.cs contêm as classes de modelo que representam as tabelas 
de bancos de dados. Você usará a classe de contexto e as classes de modelo ao trabalhar com andaimes.
Antes de prosseguir com este tutorial, construa o projeto. Na próxima seção, você irá gerar o código 
com base em modelos de dados, mas essa seção não funcionará se o projeto não foi construído.
Este artigo foi originalmente criado em 30 de outubro de 2013
De <http://www.asp.net/mvc/overview/getting-started/database-first-development/creating-the-web-application> 
 Página 16 de EF Database First com ASP.NET MVC5 
Por Tom FitzMacken | última atualização 29 de dezembro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados.
Esta parte da série enfoca usando ASP.NET andaimes para gerar os controladores e modos de exibição.
Adicionar o andaime
Você está pronto para gerar o código que irá fornecer as operações de dados padrão para as classes de 
modelo.Você pode adicionar o código, adicionando um item de andaime. Há muitas opções para o tipo 
de andaime que você pode adicionar; Neste tutorial, o andaime irá incluir um controlador e exibições 
que correspondem aos modelos estudante e inscrição que você criou na seção anterior.
Para manter a consistência em seu projeto, você irá adicionar o novo controlador para a pasta 
de controladoresexistente. Botão direito do mouse a pasta de controladores e selecione Add - Novo 
Item Scaffolded.
Selecione a opção de Controlador de 5 MVC com pontos de vista, usando o Entity Framework . Esta 
opção irá gerar o controlador e vistas para atualização, exclusão, criando e exibindo os dados no seu 
modelo.
Gerando Views
sexta-feira, 12 de junho de 2015 12:02
 Página 17 de EFDatabase First com ASP.NET MVC5 
Selecione o aluno para a classe de modelo e selecione a ContosoUniversityEntities para a classe de 
contexto.Manter o nome do controlador como StudentsController,
Clique em Adicionar.
Se você receber um erro, pode ser porque você não construir o projeto na seção anterior. Se assim for, 
tente construir o projeto e em seguida, adicione novamente o item scaffolded.
Após o processo de geração de código estiver concluído, você verá um novo controlador e vistas no seu 
projeto.
 Página 18 de EF Database First com ASP.NET MVC5 
Siga as mesmas etapas novamente, mas adicionar um andaime para a classe de inscrição. Quando 
terminar, você deve ter um arquivo EnrollmentsController.cs e uma pasta 
sob vistas chamado matrículas com o Create, Delete, detalhes, editar e vistas de índice.
Adicionar links para novas exibições
Para tornar mais fácil para que você navegue para seus novos pontos de vista, você pode adicionar um 
 Página 19 de EF Database First com ASP.NET MVC5 
Para tornar mais fácil para que você navegue para seus novos pontos de vista, você pode adicionar um 
par de hiperlinks para os pontos de vista do índice para alunos e matrículas. Abra o arquivo 
no Views/Home/Index.cshtml, que é a home page para seu site. Adicione o seguinte código abaixo o 
jumbotron.
<div>
 @Html.ActionLink("List of students", "Index", "Students")<br />
 @Html.ActionLink("List of enrollments", "Index", "Enrollments")
</div>
Para o ActionLink método, o primeiro parâmetro é o texto para exibir o link. O segundo parâmetro é a 
ação e o terceiro parâmetro é o nome do controlador. Por exemplo, o primeiro link aponta para a ação 
de índice em StudentsController. O hiperlink real é construído a partir desses valores. O primeiro link, 
finalmente, leva o usuário ao arquivo Index.cshtml dentro da pasta Views/estudantes .
Visualização estudante views
Irá verificar que o código adicionado ao seu projeto corretamente exibe uma lista dos alunos e permite 
aos usuários editar, criar ou excluir os registros dos alunos no banco de dados.
Botão direito do mouse no arquivo Views/Home/Index.cshtml e selecione Exibir no navegador. Nesta 
página, clique no link para a lista dos alunos.
Nesta página, observe a lista dos alunos e links para modificar esses dados.
 Página 20 de EF Database First com ASP.NET MVC5 
Clique no link Criar nova e fornecer alguns valores para um novo aluno.
Clique em criare observe que o aluno novo é adicionado à sua lista.
Selecione o link Editar e alterar alguns dos valores para um estudante.
 Página 21 de EF Database First com ASP.NET MVC5 
Clique em salvare observe que o registro de estudante foi alterado.
Finalmente, selecione o link excluir e confirmar que você deseja excluir o registro clicando no 
botão excluir .
Sem escrever qualquer código, você adicionou vistas que executam operações comuns sobre os dados 
na tabela aluno.
Você deve ter notado que o rótulo de texto para um campo baseia-se na propriedade de banco de 
dados (tais comoLastName) que não é necessariamente o que você deseja exibir na página da web. Por 
exemplo, você pode preferir o rótulo a ser Sobrenome. Você irá corrigir este problema de exibição mais 
tarde no tutorial.
Visualização inscrição views
Seu banco de dados inclui uma relação um-para-muitos entre as tabelas aluno e inscrição e uma relação 
um-para-muitos entre as tabelas curso e inscrição. As exibições para inscrição lidar corretamente com 
esses relacionamentos.Navegue para a página inicial do seu site e selecione o link da lista de 
 Página 22 de EF Database First com ASP.NET MVC5 
esses relacionamentos.Navegue para a página inicial do seu site e selecione o link da lista de 
matrículas e, em seguida, o Criar novo link.O modo de exibição exibe um formulário para criar um novo 
registro de inscrição. Em particular, observe que o formulário contém duas listas drop-down que são 
preenchidas com valores de tabelas relacionadas.
Além disso, a validação dos valores fornecidos é aplicada automaticamente com base no tipo de dados 
do campo.Grau requer um número, então uma mensagem de erro é exibida se você tentar fornecer um 
valor incompatível.
Você verificou que os pontos de vista gerados automaticamente permitam que os usuários trabalhar 
com os dados no banco de dados. No próximo tutorial desta série, você irá atualizar o banco de dados e 
fazer as alterações correspondentes no aplicativo da web.
Este artigo foi originalmente criado em 30 de outubro de 2013
 Página 23 de EF Database First com ASP.NET MVC5 
Por Tom FitzMacken | última atualização de 1 de outubro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados.
Esta parte da série centra-se em fazer uma atualização para a estrutura de banco de dados e propagação 
dessa mudança em todo o aplicativo web.
Adicionar uma coluna
Se você atualizar a estrutura de uma tabela em seu banco de dados, você precisa garantir que a 
alteração é propagada para o modelo de dados, exibições e controlador.
Para este tutorial, você irá adicionar uma nova coluna à tabela aluno para gravar o nome do meio do 
aluno. Para adicionar essa coluna, abra o projeto de banco de dados e abra o arquivo Student.sql. Por 
meio do designer ou o código T-SQL, adicione uma coluna chamada MiddleName que é um nvarchar 
(50) e permite valores nulos.
Implante essa mudança em seu banco de dados local, iniciando seu projeto de banco de dados (ou 
F5). O novo campo é adicionado à tabela. Se você não vê-lo no Pesquisador de objetos do SQL Server, 
clique no botão Atualizar no painel.
Mudar o banco de dados
sexta-feira, 12 de junho de 2015 12:03
 Página 24 de EF Database First com ASP.NET MVC5 
A nova coluna existe na tabela de banco de dados, mas atualmente não existe na classe de modelo de 
dados. Você deve atualizar o modelo para incluir sua nova coluna. Na pasta modelos , abra o 
arquivo ContosoModel.edmx para exibir o diagrama de modelo. Observe que o modelo de aluno não 
contém a propriedade MiddleName. Botão direito do mouse em qualquer lugar na superfície de design 
e selecione o Modelo de atualização de banco de dados.
No assistente de atualização, selecione a guia Atualizar e a tabela aluno .
 Página 25 de EF Database First com ASP.NET MVC5 
Clique em concluir.
Depois que o processo de atualização for concluído, o diagrama de banco de dados inclui a nova 
propriedadeMiddleName . Salve o arquivo ContosoModel.edmx . Você deve salvar esse arquivo para a 
nova propriedade ser propagadas para a classe de Student.cs . Agora, você atualizou o banco de dados 
e o modelo.
Compilar a solução.
Infelizmente, os pontos de vista ainda não contém a nova propriedade. Para atualizar os pontos de vista 
você tem duas opções - você também pode re-gerar as vistas adicionando mais uma vez os andaimes 
para a classe aluno, ou você pode adicionar manualmente a nova propriedade para seus pontos de vista 
existentes. Neste tutorial, você irá adicionar o andaime novamente porque você não tiver feito alterações 
personalizadas para as vistas geradas automaticamente. Você pode considerar adicionar manualmente a 
propriedade quando você tiver feito alterações para os pontos de vista e não quero perder essas 
alterações.
Para garantir que os pontos de vista são recriados, exclua a pasta de alunos em modos de exibiçãoe 
excluir oStudentsController. Em seguida,botão direito do mouse a pasta de controladores e adicionar 
andaimes para o modelo de aluno . Novamente, o nome do 
controlador StudentsController. Selecione OK.
Os pontos de vista agora contenham a propriedade MiddleName.
 Página 26 de EF Database First com ASP.NET MVC5 
Na próxima seção, você adicionará código para personalizar o modo de exibição para mostrar detalhes 
sobre um registro de estudante.
Este artigo foi criado originalmente em 13 de dezembro de 2013
 Página 27 de EF Database First com ASP.NET MVC5 
Por Tom FitzMacken|última atualização de 1 de outubro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados.
Esta parte da série centra-se sobre como mudar as vistas geradas automaticamente para melhorar a 
apresentação.
Adicionar cursos inscritos para detalhes de estudante
O código gerado fornece um bom ponto de partida para seu aplicativo, mas não necessariamente 
fornece toda a funcionalidade que você precisa em seu aplicativo. Você pode personalizar o código para 
atender as necessidades particulares do seu aplicativo. Atualmente, sua aplicação não exibir os cursos 
inscritos para o estudante selecionado.Nesta seção, você adicionará os cursos inscritos para cada aluno 
para a visualização de detalhes para o aluno.
Abrir Students/Details.cshtmle abaixo da última < /dl > guia, mas antes do fechar < / div > marca, 
adicione o seguinte código.
<table class="table">
 <tr>
 <th>
 Course Title
 </th>
 <th>
 Grade
 </th>
 <th>
 Credits
 </th>
 </tr>
@foreach (var item in Model.Enrollments)
 {
 <tr>
 <td>
 @Html.DisplayFor(modelItem => item.Course.Title)
 </td>
 <td>
 @Html.DisplayFor(modelItem => item.Grade)
 </td>
 <td>
 @Html.DisplayFor(modelItem => item.Course.Credits)
 </td>
 </tr>
 }
</table>
Esse código cria uma tabela que exibe uma linha para cada registro na tabela Matrículas para o 
estudante selecionado. O método de exibição processa HTML para o objeto (modelItem) que 
representa a expressão. Você usar o método de visualização (ao invés de simplesmente incorporar o 
valor da propriedade no código) para certificar-se de que o valor é formatado corretamente com base 
no seu tipo e o modelo para esse tipo. Neste exemplo, cada expressão retorna uma única propriedade 
Personalizando uma View
sexta-feira, 12 de junho de 2015 12:05
 Página 28 de EF Database First com ASP.NET MVC5 
no seu tipo e o modelo para esse tipo. Neste exemplo, cada expressão retorna uma única propriedade 
do registro atual no loop, e os valores são tipos primitivos que são renderizados como texto.
Navegue até o modo de exibição de estudantes/índice novamente e selecione detalhes para um dos 
alunos. Você verá que os cursos matriculados foram incluídos na exibição.
Este artigo foi originalmente criado em 30 de outubro de 2013
 Página 29 de EF Database First com ASP.NET MVC5 
Por Tom FitzMacken | última atualização 29 de dezembro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados.
Esta parte da série centra-se sobre a adição de anotações de dados para o modelo de dados para 
especificar os requisitos de validação e exibir a formatação. Isso foi melhorado com base no feedback de 
usuários na seção de comentários.
Adicionar anotações de dados
Como você viu em um tópico anterior, algumas regras de validação de dados são aplicadas 
automaticamente para o entrada do usuário. Por exemplo, você só pode fornecer um número para a 
propriedade da classe. Para especificar mais as regras de validação de dados, você pode adicionar 
anotações de dados à sua classe de modelo. Essas anotações são aplicadas em todo o aplicativo web 
para a propriedade especificada. Você também pode aplicar atributos de formatação que mudar como 
as propriedades são exibidas; tais como, alterando o valor usado para rótulos de texto.
Neste tutorial, você irá adicionar anotações de dados para restringir o comprimento dos valores 
fornecidos para as propriedades de MiddleName, LastName e FirstName. No banco de dados, esses 
valores são limitados a 50 caracteres; no entanto, em seu aplicativo da web que limite de caracteres 
atualmente não é imposta. Se um usuário fornece mais de 50 caracteres para um desses valores, a 
página irá falhar ao tentar salvar o valor para o banco de dados. Você também irá restringir o grau para 
valores entre 0 e 4.
Abra o arquivo Student.cs na pasta modelos . Adicione o seguinte código realçado para a classe.
namespace ContosoSite.Models
{
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 
 public partial class Student
 {
 public Student()
 {
 this.Enrollments = new HashSet<Enrollment>();
 }
 
 public int StudentID { get; set; }
 [StringLength(50)]
 public string LastName { get; set; }
 [StringLength(50)]
 public string FirstName { get; set; }
 public Nullable<System.DateTime> EnrollmentDate { get; set; }
 [StringLength(50)]
 public string MiddleName { get; set; }
 
 public virtual ICollection<Enrollment> Enrollments { get; set; }
 }
}
Em Enrollment.cs, adicione o seguinte código realçado.
Melhorar a validação de dados
sexta-feira, 12 de junho de 2015 12:07
 Página 30 de EF Database First com ASP.NET MVC5 
Em Enrollment.cs, adicione o seguinte código realçado.
namespace ContosoSite.Models
{
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 
 public partial class Enrollment
 {
 public int EnrollmentID { get; set; }
 [Range(0, 4)]
 public Nullable<decimal> Grade { get; set; }
 public int CourseID { get; set; }
 public int StudentID { get; set; }
 
 public virtual Course Course { get; set; }
 public virtual Student Student { get; set; }
 }
}
Compilar a solução.
Navegue até uma página para edição ou criação de um estudante. Se você tentar inserir mais de 50 
caracteres, uma mensagem de erro é exibida.
Navegue até a página para edição as matrículas e tentativa de fornecer um grau acima de 4.
Para uma lista completa de anotações de validação de dados que você pode aplicar a classes e 
propriedades, consulte System.ComponentModel.DataAnnotations.
Adicionar metadados classes
Adicionando os atributos de validação diretamente para a classe de modelo funciona quando você não 
espera o banco de dados para alterar; no entanto, se as alterações de banco de dados e você precisa de 
regenerar a classe de modelo, você perderá todos os atributos que você tinha aplicado para a classe de 
modelo. Essa abordagem pode ser muito ineficiente e propenso a perder as regras de validação 
importante.
Para evitar esse problema, você pode adicionar uma classe que contém os atributos de 
 Página 31 de EF Database First com ASP.NET MVC5Para evitar esse problema, você pode adicionar uma classe que contém os atributos de 
metadados. Quando você associar a classe de modelo para a classe de metadados, esses atributos são 
aplicados ao modelo. Nesta abordagem, a classe de modelo pode ser regenerada sem perder todos os 
atributos que foram aplicados para a classe de metadados.
Na pasta modelos , adicionar uma classe chamada Metadata.cs.
Substitua o código no Metadata.cs com o código a seguir.
using System;
using System.ComponentModel.DataAnnotations;
namespace ContosoSite.Models
{
 public class StudentMetadata
 {
 [StringLength(50)]
 [Display(Name="Last Name")]
 public string LastName;
[StringLength(50)]
 [Display(Name="First Name")]
 public string FirstName;
[StringLength(50)]
 [Display(Name="Middle Name")]
 public string MiddleName;
[Display(Name = "Enrollment Date")]
 public Nullable<System.DateTime> EnrollmentDate;
 }
 Página 32 de EF Database First com ASP.NET MVC5 
public class EnrollmentMetadata
 {
 [Range(0, 4)]
 public Nullable<decimal> Grade;
 }
}
Essas classes de metadados contém todos os atributos de validação que você tinha anteriormente 
aplicado para as classes de modelo. O atributo de exibição é usado para alterar o valor usado para 
rótulos de texto.
Agora, você deve associar as classes de modelo com as classes de metadados.
Na pasta modelos , adicionar uma classe chamada PartialClasses.cs.
Substitua o conteúdo do arquivo com o código a seguir.
using System;
using System.ComponentModel.DataAnnotations;
namespace ContosoSite.Models
{
 [MetadataType(typeof(StudentMetadata))]
 public partial class Student
 {
 }
[MetadataType(typeof(EnrollmentMetadata))]
 public partial class Enrollment
 {
 }
}
Observe que cada classe é marcada como uma classe partial , e cada um corresponde a nome e 
namespace como a classe que é automaticamente gerada. Aplicando o atributo de metadados para a 
classe parcial, você garantir que os atributos de validação de dados serão aplicados à classe gerada 
automaticamente. Esses atributos não serão perdidos quando você gerar novamente as classes de 
modelo, porque o atributo de metadados é aplicado em classes parciais que não são regeneradas.
Para regenerar as classes geradas automaticamente, abra o arquivo ContosoModel.edmx. Mais uma vez, 
botão direito do mouse na superfície de design e selecione o Modelo de atualização de banco de 
dados. Mesmo que você não mudou o banco de dados, esse processo se regenerará as classes. Na 
guia Atualizar , selecione tabelas eterminar.
 Página 33 de EF Database First com ASP.NET MVC5 
Salve o arquivo ContosoModel.edmx para aplicar as alterações.
Abra o arquivo Student.cs ou o arquivo Enrollment.cs e observe que os atributos de validação de dados 
que você aplicado anteriormente já não estão no arquivo. No entanto, executar o aplicativo e notar que 
as regras de validação ainda são aplicadas quando você insere dados.
Este artigo foi originalmente criado em 20 de janeiro de 2014
 Página 34 de EF Database First com ASP.NET MVC5 
Por Tom FitzMacken | última atualização 22 de dezembro de 2014
Usando MVC, Entity Framework e ASP.NET, você pode criar um aplicativo web que fornece uma interface 
para um banco de dados existente. Esta série tutorial mostra como automaticamente gerar código que 
permite aos usuários exibir, editar, criar e apagar dados que residem em uma tabela de banco de 
dados. O código gerado corresponde às colunas na tabela de banco de dados.
Esta parte da série enfoca o aplicativo web e banco de dados de publicação para Azure. Você pode ler 
este tópico para aprender sobre como publicar um aplicativo web e banco de dados, mas para 
realmente executar as etapas que você deve começar no início do tutorial. Consulte Guia de introdução.
Implantar seu aplicativo da web no Azure
Você pode abrir uma conta Azure gratuitamente - conseguir créditos você pode usar para testar 
serviços Azure pagos e mesmo depois que eles são usados até pode ficar com a conta e uso 
gratuito de serviços Azure.
•
Você pode ativar os benefícios do assinante MSDN - assinatura MSDN seu dá-lhe créditos a cada 
mês que você pode usar para serviços pagos de Azure.
•
Você precisa de uma conta Azure para concluir este tutorial:
Para publicar seu aplicativo web, clique no projeto e selecione publicar.
Selecione sites Microsoft Azure.
Publicar o site MVC no Azure
sexta-feira, 12 de junho de 2015 12:09
 Página 35 de EF Database First com ASP.NET MVC5 
Se você não está assinado para Azure, fornece suas credenciais de conta Azure. Em seguida, selecione 
New para criar um novo aplicativo web.
Crie um nome exclusivo para seu aplicativo da web. Você saberá que o nome é exclusivo... se você ver 
uma marca de verificação verde à direita do campo nome. Selecione uma região para seu web app 
Selecione criar novo servidordo banco de dados e forneça um nome de usuário e senha para este novo 
banco de dados servidor. Quando terminar, clique em criar.
 Página 36 de EF Database First com ASP.NET MVC5 
Seus valores de conexão estão agora prontos. Você pode deixar esses valores inalterados.
Clique em Next.
 Página 37 de EF Database First com ASP.NET MVC5 
Clique em Next.
Para as configurações, aviso que dois banco de dados conexões são especificados -
ApplicationDBContext e ContosoUniversityDataEntities. ApplicationDBContext é a ligação de tabelas de 
conta de usuário. Estes valores mostram apenas as seqüências de conexão para bancos de dados. Isso 
não significa que esses bancos de dados serão publicados quando você publicar seu site. Você vai 
publicar seu projeto de banco de dados depois de ter terminado o aplicativo web de publicação.
O botão de reticências (...) ao lado da conexão de banco de dados mostra os detalhes da cadeia de 
caracteres de conexão. Clique nas reticências ao lado de ContosoUniversityDataEntities.
 Página 38 de EF Database First com ASP.NET MVC5 
Anote o nome do servidor de banco de dados e banco de dados. O nome do servidor é gerado 
aleatoriamente. O nome do banco de dados é simples, o nome do seu site com _db anexado. Você vai 
precisar os dois nomes mais tarde, quando você publicar seu banco de dados.
Clique em OK para fechar a janela de cadeia de caracteres de conexão de banco de dados.
Na janela de publicar Web, clique em próximo para ver o preview.
 Página 39 de EF Database First com ASP.NET MVC5 
Você pode clicar em Iniciar Preview para ver uma lista dos arquivos para publicar. Pois esta é a primeira 
vez que você tenha publicado neste site, a lista é cada arquivo relevante no projeto.
Clique em publicar.
Painel de saída irá exibir o resultado de sua publicação.
Após a publicação, o site é immedialely lançado em um navegador da web. Seu site foi implantado e 
você pode registrar um novo usuário para o site; no entanto, suas tabelas no projeto 
ContosoUniversityData tem ainda não foi publicadas. Se você clicar na lista de alunos link você receberá 
um erro.
 Página 40 de EF Database First com ASP.NET MVC5 
Publicar o banco de dados para o SQL Azure
Antes de publicar o seu banco de dados, você deve Certifique-se de que seu computador pode se 
conectar ao servidor de banco de dados. O firewall para o seu servidor de banco de dados restringe 
quais máquinas podem se conectar ao banco de dados. Você precisa adicionar o endereço IP do seu 
computador para os endereços IP permitidos para o firewall.
Login em sua conta Azure através do portal azul.
Selecione seu novo banco de dados e selecione gerenciar.
Você deveconfigurar seu servidor de banco de dados para permitir conexões de seu 
computador. Quando você selecionar gerenciar, pedimos que adicione o endereço IP atual, conforme 
permitido para o servidor de banco de dados. Selecione Sim.
Há uma chance de que o endereço IP que você adicionou na etapa anterior não é o único endereço IP, 
que você precisa configurar para conexões. Você pode tentar fazer o login no banco de dados para ver 
se as conexões foram devidamente configuradas. Fornece o usuário e a senha que você criou 
anteriormente.
 Página 41 de EF Database First com ASP.NET MVC5 
Se você receber uma mensagem de erro, você precisa adicionar um outro endereço IP. Clique na 
mensagem de erro para ver mais detalhes sobre o erro. Nos detalhes, você verá o endereço IP que você 
precisa para adicionar. Anote esse endereço IP.
Fechar esta janela de login e voltar para o portal do Azure.
Navegue até o painel de controle para seu banco de dados. Clique em gerenciar permitidos endereços 
IP.
 Página 42 de EF Database First com ASP.NET MVC5 
Agora, você deve adicionar o endereço IP a partir da mensagem de erro. Altere o intervalo de endereços 
IP permitidos para incluir aquela da mensagem de erro, ou adicionar o endereço IP como uma entrada 
separada.
Salve a alteração de endereços IP permitidos.
Clique em gerenciar e tente iniciar sessão novamente no banco de dados. Você pode precisar esperar 
alguns minutos antes que os endereços IP permitidos estão corretamente configurados para o 
firewall. Quando você com êxito pode fazer logon no banco de dados, você terminou de configuração 
de sua conexão ao banco de dados.
Você pode deixar esta janela de gestão aberto, porque você irá verificar o resultado da implantação de 
banco de dados em breve.
Retornar ao seu projeto de banco de dados. Clique no projeto e selecione publicar.
 Página 43 de EF Database First com ASP.NET MVC5 
Na janela Banco de dados de publicação, selecione Editar.
Forneça o nome do servidor de banco de dados e suas credenciais de autenticação para o 
servidor. Depois de fornecer as credenciais, selecione o banco de dados criado a partir da lista de bancos 
de dados disponíveis. Por padrão, Visual Studio define o nome do campo de banco de dados para o 
nome do seu projeto, que pode não ser o mesmo que o banco de dados que você criou.
 Página 44 de EF Database First com ASP.NET MVC5 
Clique em OK.
Você provavelmente vai querer salvar este perfil, assim você pode publicar atualizações no futuro sem 
re-digitar todas as informações de conexão. Selecione Criar perfil.
 Página 45 de EF Database First com ASP.NET MVC5 
Ele criará um arquivo em seu projeto chamado ContosoUniversityData.publish.xml. A próxima vez que 
você deseja publicar o banco de dados para o Azure, simplesmente carrega esse perfil.
Agora, clique em publicar para criar o banco de dados no Azure.
Depois de correr que por um tempo, a publicação de resultados é exibido.
Agora, você pode voltar para o portal de gerenciamento para seu banco de dados. Atualizar o modo de 
design e observe que as 3 tabelas com dados previamente enchidos já foi implantadas.
 Página 46 de EF Database First com ASP.NET MVC5 
Agora você está pronto para testar o aplicativo web que é implantado no Azure. Navegue até o 
aplicativo da web no Azure (como http://contosositeexample.azurewebsites.net/). Clique no link para a 
lista de alunos e você deve ver a exibição de índice para os alunos.
Ocasionalmente, o banco de dados e conexão precisam de tempo para ser configurado corretamente. Se 
você receber um erro, aguarde alguns minutos e tente novamente.
Conclusão
Esta série fornecido um exemplo simples de como gerar o código de banco de dados existente que 
permite aos usuários editar, atualizar, criar e excluir dados. Era 5 de ASP.NET MVC, Entity Framework e 
ASP.NET andaimes para criar o projeto.
Para obter um exemplo introdutório de código primeiro desenvolvimento, consulte Introdução ao 
ASP.NET MVC 5.
 Página 47 de EF Database First com ASP.NET MVC5 
ASP.NET MVC 5.
Para um exemplo mais avançado, consulte criar um modelo de dados entidade Framework para um 
ASP.NET MVC 4 App. Note que a API DbContext que você usar para trabalhar com dados em banco de 
dados primeiro é o mesmo que a API que você usar para trabalhar com dados em código 
primeiro. Mesmo se você pretende usar o primeiro banco de dados, você pode aprender como lidar com 
cenários mais complexos, tais como ler e atualizar dados relacionados, tratando conflitos de 
simultaneidade, e assim por diante de um código primeiro tutorial. A única diferença está em como o 
banco de dados, classe de contexto e classes de entidade são criadas.
Este artigo foi originalmente criado em 1 de outubro de 2014
 Página 48 de EF Database First com ASP.NET MVC5

Continue navegando