Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este vídeo e o guia passo a passo oferecem uma introdução ao desenvolvimento do Model First usando o Entity Framework. O Model First permite-lhe criar um novo modelo usando o Entity Framework Designer e depois gerar um esquema de base de dados a partir do modelo. O modelo é armazenado num ficheiro EDMX (extensão .edmx) e pode ser visualizado e editado no Entity Framework Designer. As classes com as quais interage na sua aplicação são geradas automaticamente a partir do ficheiro EDMX.
Veja o vídeo
Este vídeo e o guia passo a passo oferecem uma introdução ao desenvolvimento do Model First usando o Entity Framework. O Model First permite-lhe criar um novo modelo usando o Entity Framework Designer e depois gerar um esquema de base de dados a partir do modelo. O modelo é armazenado num ficheiro EDMX (extensão .edmx) e pode ser visualizado e editado no Entity Framework Designer. As classes com as quais interage na sua aplicação são geradas automaticamente a partir do ficheiro EDMX.
Apresentado por: Rowan Miller
Pre-Requisites
Vai precisar de ter instalado o Visual Studio 2010 ou Visual Studio 2012 para completar este walkthrough.
Se estiveres a usar Visual Studio 2010, também vais precisar de ter o NuGet instalado.
1. Criar a Aplicação
Para simplificar, vamos construir uma aplicação básica de consola que utiliza o Model First para aceder aos dados:
- Abrir o Visual Studio
- Ficheiro -> Novo -> Projeto...
- Selecione Windows no menu esquerdo e Aplicação de Consola
- Entra ModelFirstSample como nome
- Selecione OK
2. Criar Modelo
Vamos utilizar o Entity Framework Designer, que está incluído no Visual Studio, para criar o nosso modelo.
Projeto -> Adicionar Novo Item...
Selecione Dados no menu esquerdo e depois Modelo de Dados de Entidade ADO.NET
Introduza BloggingModel como nome e clique em OK, isto inicia o Assistente do Modelo de Dados da Entidade
Selecione Modelo Vazio e clique em Terminar
O Entity Framework Designer é aberto com um modelo em branco. Agora podemos começar a adicionar entidades, propriedades e associações ao modelo.
Clique com o botão direito na superfície do design e selecione Propriedades
Na janela de Propriedades, altere o Nome do Contentor da Entidade para BloggingContextEste é o nome do contexto derivado que será gerado para si, o contexto representa uma sessão com a base de dados, permitindo-nos consultar e guardar dados
Clique com o botão direito na superfície de design e selecione Adicionar Nova -> Entidade...
Introduza Blog como nome da entidade e BlogId como nome-chave e clique em OK
Clique com o botão direito na nova entidade na superfície de design e selecione Adicionar Nova -> Propriedade Escalar, insira Nome como nome da propriedade.
Repita este processo para adicionar uma propriedade Url .
Clique com o botão direito na propriedade Url na superfície de design e selecione Propriedades, na janela de Propriedades altere a definição Nullable para TrueIsto permite-nos guardar um Blog na base de dados sem lhe atribuir um URL
Usando as técnicas que acabaste de aprender, adiciona uma entidade Post com uma propriedade de chave PostId
Adicionar propriedades escalares de Título e Conteúdo à entidade Post
Agora que temos algumas entidades diferentes, é altura de criar uma associação (ou relação) entre elas.
Clique com o botão direito na superfície do design e selecione Adicionar Novo -> Associação...
Faça com que uma extremidade da relação aponte para o Blog com multiplicidade de Um e a outra extremidade para Publicação com uma multiplicidade de Muitos. Isto significa que um Blog tem muitas Publicações e uma Publicação pertence a um Blog
Certifique-se de que a caixa Adicionar propriedades de chave estrangeira à Entidade 'Publicar' está assinalada e clique em OK
Agora temos um modelo simples a partir do qual podemos gerar uma base de dados e usar para ler e escrever dados.
Passos adicionais no Visual Studio 2010
Se estiver a trabalhar no Visual Studio 2010, há alguns passos adicionais que precisa de seguir para atualizar para a versão mais recente do Entity Framework. Atualizar é importante porque lhe dá acesso a uma superfície API melhorada, muito mais fácil de usar, bem como às últimas correções de bugs.
Primeiro, precisamos de obter a versão mais recente do Entity Framework da NuGet.
- Projeto –> Gerir pacotes NuGet...Se não tiveres a opção Gerir Pacotes NuGet, deves instalar a versão mais recente do NuGet
- Selecione a aba Online
- Selecione o pacote EntityFramework
- Clique em Instalar
De seguida, precisamos de trocar o nosso modelo para gerar código que utilize a API DbContext, que foi introduzida em versões posteriores do Entity Framework.
Clique com o botão direito num espaço vazio do seu modelo no EF Designer e selecione Adicionar Item de Geração de Código...
Selecione Modelos Online no menu esquerdo e procure por DbContext
Selecione o Gerador EF 5.x DbContext para C#, introduza BloggingModel como nome e clique em Adicionar
3. Geração da base de dados
Dado o nosso modelo, o Entity Framework pode calcular um esquema de base de dados que nos permitirá armazenar e recuperar dados usando o modelo.
O servidor de base de dados instalado com o Visual Studio varia consoante a versão do Visual Studio que tem instalado:
- Se estiveres a usar Visual Studio 2010, vais criar uma base de dados SQL Express.
- Se estiveres a usar Visual Studio 2012, então vais criar uma base de dados LocalDB .
Vamos avançar e gerar a base de dados.
Clique com o botão direito na superfície de design e selecione Gerar Base de Dados a partir do Modelo...
Clique em Nova Ligação... e especifique LocalDB ou SQL Express, dependendo da versão do Visual Studio que está a usar, introduza ModelFirst.Blogging como nome da base de dados.
Selecione OK e ser-lhe-á perguntado se quer criar uma nova base de dados, selecione Sim
Selecione Next e o Entity Framework Designer irá calcular um script para criar o esquema da base de dados
Assim que o script for exibido, clique em Terminar e o script será adicionado ao seu projeto e aberto
Clique com o botão direito no script e selecione Executar, será solicitado a especificar a base de dados a ligar, especificar LocalDB ou SQL Server Express, dependendo da versão do Visual Studio que está a usar
4. Leitura e Escrita de Dados
Agora que temos um modelo, está na altura de o usar para aceder a alguns dados. As classes que vamos usar para aceder aos dados estão a ser geradas automaticamente para si com base no ficheiro EDMX.
Esta captura de ecrã é do Visual Studio 2012; se estiver a usar o Visual Studio 2010, os ficheiros de BloggingModel.tt e BloggingModel.Context.tt estarão diretamente sob o seu projeto em vez de aninhados no ficheiro EDMX.
Implemente o método Main em Program.cs como mostrado abaixo. Este código cria uma nova instância do nosso contexto e depois usa-a para inserir um novo Blog. Depois, utiliza uma consulta LINQ para recuperar todos os Blogs da base de dados ordenados alfabeticamente por Título.
class Program
{
static void Main(string[] args)
{
using (var db = new BloggingContext())
{
// Create and save a new Blog
Console.Write("Enter a name for a new Blog: ");
var name = Console.ReadLine();
var blog = new Blog { Name = name };
db.Blogs.Add(blog);
db.SaveChanges();
// Display all Blogs from the database
var query = from b in db.Blogs
orderby b.Name
select b;
Console.WriteLine("All blogs in the database:");
foreach (var item in query)
{
Console.WriteLine(item.Name);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Agora podes executar a aplicação e testá-la.
Enter a name for a new Blog: ADO.NET Blog
All blogs in the database:
ADO.NET Blog
Press any key to exit...
5. Lidar com Alterações de Modelos
Agora é altura de fazer algumas alterações ao nosso modelo; quando fizermos estas alterações, também precisamos de atualizar o esquema da base de dados.
Vamos começar por adicionar uma nova entidade de Utilizador ao nosso modelo.
Adicione um novo nome de entidade de utilizador com Nome de utilizador como nome da chave e String como tipo de propriedade para a chave
Clique com o botão direito na propriedade Nome de utilizador na superfície de design e selecione Propriedades. Na janela de Propriedades altere a definição MaxLength para 50Isto restringe os dados que podem ser armazenados no nome de utilizador a 50 caracteres
Adicionar uma propriedade escalar DisplayName à entidade User
Agora temos um modelo atualizado e estamos prontos para atualizar a base de dados para acomodar o nosso novo tipo de entidade Utilizador.
- Clique com o botão direito na superfície de design e selecione Gerar Base de Dados a partir do Modelo..., o Entity Framework calculará um script para recriar um esquema baseado no modelo atualizado.
- Clique em Concluir
- Pode receber avisos sobre sobrescrever o script DDL existente e as partes de mapeamento e armazenamento do modelo, clique em Sim para ambos estes avisos
- O script SQL atualizado para criar a base de dados é aberto para ti
O script gerado elimina todas as tabelas existentes e depois recria o esquema do zero. Isto pode funcionar para o desenvolvimento local, mas não é viável para promover alterações numa base de dados que já foi implementada. Se precisar de publicar alterações numa base de dados que já foi implementada, terá de editar o script ou usar uma ferramenta de comparação de esquemas para calcular um script de migração. - Clique com o botão direito no script e selecione Executar, será solicitado a especificar a base de dados a ligar, especificar LocalDB ou SQL Server Express, dependendo da versão do Visual Studio que está a usar
Resumo
Neste walkthrough, analisámos o desenvolvimento do Model First, que nos permitiu criar um modelo no EF Designer e depois gerar uma base de dados a partir desse modelo. Depois usámos o modelo para ler e escrever alguns dados da base de dados. Finalmente, atualizámos o modelo e depois recriámos o esquema da base de dados para corresponder ao modelo.