Entity Framework - Database First Approach
Neste capítulo, vamos aprender como criar um modelo de dados de entidade com a abordagem Database First.
A abordagem do banco de dados primeiro fornece uma alternativa para as abordagens Code First e Model First para o Entity Data Model. Ele cria códigos de modelo (classes, propriedades, DbContext etc.) do banco de dados no projeto e essas classes tornam-se o elo entre o banco de dados e o controlador.
O Database First Approach cria a estrutura da entidade a partir de um banco de dados existente. Usamos todas as outras funcionalidades, como a sincronização do modelo / banco de dados e a geração de código, da mesma forma que as usamos na abordagem Model First.
Vamos dar um exemplo simples. Já temos um banco de dados que contém 3 tabelas, conforme mostrado na imagem a seguir.
Step 1 - Vamos criar um novo projeto de console com o nome DatabaseFirstDemo.
Step 2 - Para criar o modelo, primeiro clique com o botão direito do mouse em seu projeto de console no gerenciador de soluções e selecione Adicionar → Novos itens ...
Step 3 - Selecione ADO.NET Entity Data Model no painel do meio e insira o nome DatabaseFirstModel no campo Nome.
Step 4 - Clique no botão Adicionar que iniciará a caixa de diálogo Assistente de modelo de dados de entidade.
Step 5 - Selecione EF Designer do banco de dados e clique no botão Avançar.
Step 6 - Selecione o banco de dados existente e clique em Avançar.
Step 7 - Escolha Entity Framework 6.xe clique em Avançar.
Step 8 - Selecione todas as visualizações de tabelas e procedimentos armazenados que deseja incluir e clique em Concluir.
Você verá que o modelo de entidade e as classes POCO são gerados a partir do banco de dados.
Vamos agora recuperar todos os alunos do banco de dados escrevendo o seguinte código no arquivo program.cs.
using System;
using System.Linq;
namespace DatabaseFirstDemo {
class Program {
static void Main(string[] args) {
using (var db = new UniContextEntities()) {
var query = from b in db.Students
orderby b.FirstMidName select b;
Console.WriteLine("All All student in the database:");
foreach (var item in query) {
Console.WriteLine(item.FirstMidName +" "+ item.LastName);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
}
Quando o programa acima for executado, você receberá a seguinte saída -
All student in the database:
Ali Khan
Arturo finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...
Quando o programa acima for executado, você verá os nomes de todos os alunos que foram inseridos anteriormente no banco de dados.
Recomendamos que você execute o exemplo acima passo a passo para melhor compreensão.