Nesta aula iremos criar uma database com tabelas relacionadas para um sistema de vendas, depois iremos utilizar o Entity Framework para gerar os modelos que iremos trabalhar.
Nesta aula vamos utilizar o Entity Framework -Database Code First para programar o banco de dados, como se nós fossemos um DBA, fazendo todo o diagrama de relacionamento e depois vamos gerar todo o código através do Entity Framework.
Serão mostradas algumas estratégias de como colocar o nome do banco de dados quando você estiver utilizando o entity framework ou mapeamento code first e programar esse plano de ação que iremos fazer
No SQL Server, vamos criar um banco de dados chamado VendasWeb e as tabelas abaixo:
Nome da Coluna | Tipo de Dados |
---|---|
id | int |
Nome | varchar(50) |
Telefone | varchar(20) |
varbinary(200) |
Nome da Coluna | Tipo de Dados |
---|---|
id | int |
Nome | varchar(50) |
Valor | float |
Nome da Coluna | Tipo de Dados |
---|---|
Id | int |
ClienteID | int |
ValorTotal | float |
Nome da Coluna | Tipo de Dados |
---|---|
Id | int |
PedidoID | int |
ProdutoID | int |
Valor | float |
Tabela de Chaves Primarias | Tabela de chaves estrangeiras |
---|---|
Cliente | Pedido |
Id | ClienteId |
Tabela de Chaves Primarias | Tabela de chaves estrangeiras |
---|---|
Produto | PedidoProduto |
Id | ProdutoId |
Tabela de Chaves Primarias | Tabela de chaves estrangeiras |
---|---|
Pedido | PedidoProduto |
Id | PedidoId |
Vamos criar um projeto Console Application.
Clicar com o botão direito no nome do projeto EFDatabaseCode:
Após fazermos todo o processo acima, podemos verificar nos arquivos do projeto, que foram adicionadas nas referências o EntityFramework e o EntityFrameworkSqlServer, fazendo todas as configurações automaticamente.
No arquivo App.config, podemos verificar que ja existe a configuração da conexão com o banco de dados:
< ?xml version="1.0" encoding="utf-8"?>
< configuration>
< connectionStringk>
< add name="VendaWebContext" connectionString="data source=DIDOX-WINDOWS\SQLEXPRESS;initial catalog="VendasWeb;" />
< /connectionStringk>
< /configuration >
Foi gerado o arquivo VendasWebContext.cs e as classes Produto, Cliente, Pedido e PedidoProduto, automaticamente.
namespace EFDatabaseCode
{
public partial class VendasWebContext: DBContext
{
public virtual DbSet< Cliente> Cliente {get;set;}
public virtual DbSet< Pedido> Pedido {get;set;}
public virtual DbSet< PedidoProduto> PedidoProduto {get;set;}
public virtual DbSet< Produto> Produto {get;set;}
}
}
No Projeto Console Application, podemos utilizar as classes que foram criadas para retornar os dados.
namespace EFDatabaseCode
class Program
{
static void Main(string[] args)
{
var clientes = new VendasWebContext().Cliente.ToList();
Cliente cliente = clientes[0];
var produtos = new VendasWebContext().Produto.ToList();
Produto produto = produtos[0];
var pedidos = new VendasWebContext().Pedido.ToList();
Pedido pedido = pedidos[0];
var pedidoProdutos = new VendasWebContext().PedidoProduto.ToList();
PedidoProduto pedidoProduto = pedidoProdutos[0];
}
}
Nesta aula iremos criar uma database com tabelas relacionadas para um sistema de vendas, depois iremos utilizar o Entity Framework para gerar os modelos que iremos trabalhar.
Nesta aula vamos utilizar o Entity Framework -Database Code First para programar o banco de dados, como se nós fossemos um DBA, fazendo todo o diagrama de relacionamento e depois vamos gerar todo o código através do Entity Framework.
Serão mostradas algumas estratégias de como colocar o nome do banco de dados quando você estiver utilizando o entity framework ou mapeamento code first e programar esse plano de ação que iremos fazer
No SQL Server, vamos criar um banco de dados chamado VendasWeb e as tabelas abaixo:
Nome da Coluna | Tipo de Dados |
---|---|
id | int |
Nome | varchar(50) |
Telefone | varchar(20) |
varbinary(200) |
Nome da Coluna | Tipo de Dados |
---|---|
id | int |
Nome | varchar(50) |
Valor | float |
Nome da Coluna | Tipo de Dados |
---|---|
Id | int |
ClienteID | int |
ValorTotal | float |
Nome da Coluna | Tipo de Dados |
---|---|
Id | int |
PedidoID | int |
ProdutoID | int |
Valor | float |
Tabela de Chaves Primarias | Tabela de chaves estrangeiras |
---|---|
Cliente | Pedido |
Id | ClienteId |
Tabela de Chaves Primarias | Tabela de chaves estrangeiras |
---|---|
Produto | PedidoProduto |
Id | ProdutoId |
Tabela de Chaves Primarias | Tabela de chaves estrangeiras |
---|---|
Pedido | PedidoProduto |
Id | PedidoId |
Vamos criar um projeto Console Application.
Clicar com o botão direito no nome do projeto EFDatabaseCode:
Após fazermos todo o processo acima, podemos verificar nos arquivos do projeto, que foram adicionadas nas referências o EntityFramework e o EntityFrameworkSqlServer, fazendo todas as configurações automaticamente.
No arquivo App.config, podemos verificar que ja existe a configuração da conexão com o banco de dados:
< ?xml version="1.0" encoding="utf-8"?>
< configuration>
< connectionStringk>
< add name="VendaWebContext" connectionString="data source=DIDOX-WINDOWS\SQLEXPRESS;initial catalog="VendasWeb;" />
< /connectionStringk>
< /configuration >
Foi gerado o arquivo VendasWebContext.cs e as classes Produto, Cliente, Pedido e PedidoProduto, automaticamente.
namespace EFDatabaseCode
{
public partial class VendasWebContext: DBContext
{
public virtual DbSet< Cliente> Cliente {get;set;}
public virtual DbSet< Pedido> Pedido {get;set;}
public virtual DbSet< PedidoProduto> PedidoProduto {get;set;}
public virtual DbSet< Produto> Produto {get;set;}
}
}
No Projeto Console Application, podemos utilizar as classes que foram criadas para retornar os dados.
namespace EFDatabaseCode
class Program
{
static void Main(string[] args)
{
var clientes = new VendasWebContext().Cliente.ToList();
Cliente cliente = clientes[0];
var produtos = new VendasWebContext().Produto.ToList();
Produto produto = produtos[0];
var pedidos = new VendasWebContext().Pedido.ToList();
Pedido pedido = pedidos[0];
var pedidoProdutos = new VendasWebContext().PedidoProduto.ToList();
PedidoProduto pedidoProduto = pedidoProdutos[0];
}
}