Motivação
Em projetos onde a arquitetura é centralizada nas classes do domínio, a base de dados geralmente é criada no final da modelagem, por meio de um processo realizado automaticamente por ferramentas específicas ou frameworks.
Seguindo essa linha de projeto, neste artigo veremos como o Entity Framework Core, através do padrão Code First e da Fluent API, permite realizar o mapeamento das classes e a geração automática da base de dados a partir delas. Tudo isso será feito por meio de ferramentas de linha de comando, sem a necessidade de utilizar o Visual Studio.
Passo 1: Modelar as entidades
Para modelar as entidades, que posteriormente serão refletidas em tabelas do banco de dados, criaremos aqui um projeto do tipo Class Library chamado Projeto.Dominio com duas classes: Cliente e Pedido, cujo código pode ser visto na Listagem 1.
01 namespace Projeto.Dominio
02 {
03 public class Cliente
04 {
05 public Nullable<long> Id { get; set; }
06 public string Nome { get; set; }
07 public String Email { get; set; }
08 public IList<Pedido> Pedidos { get; set; }
09 public Cliente()
10 { }
11 }
12 public class Pedido
13 {
14 public Nullable<long> Id { get; set; }
15 public Double Total { get; set; }
16 }
17 }