Ejemplo n.º 1
0
        private static void LoggerSQLViaEntity()
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var produtos = contexto.Produtos.ToList();
                ExibeEntries(contexto.ChangeTracker.Entries());

                var novoProduto = new Produto()
                {
                    Nome          = "Sabão em pó",
                    Categoria     = "Limpeza",
                    PrecoUnitario = 4.99
                };
                contexto.Produtos.Add(novoProduto);
                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.Produtos.Remove(novoProduto);
                ExibeEntries(contexto.ChangeTracker.Entries());

                //var prd = produtos.First();
                //contexto.Produtos.Remove(prd);

                //contexto.SaveChanges();

                var entry = contexto.Entry(novoProduto);
                Console.WriteLine(entry.Entity.ToString() + " - " + entry.State);

                ExibeEntries(contexto.ChangeTracker.Entries());
            }
        }
Ejemplo n.º 2
0
        private static void UmParaUm()
        {
            var fulano = new Cliente();

            fulano.Nome = "Marcelo";
            fulano.EnderecoDeEntrega = new Endereco()
            {
                Numero      = 12,
                Lougradouro = "Rua dos bobos",
                Complemento = "Casa",
                Bairro      = "Gasparinho",
                Cidade      = "Gaspar"
            };

            using (var contexto = new LojaContex())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Clientes.Add(fulano);
                contexto.SaveChanges();
            }

            Console.ReadLine();
        }
Ejemplo n.º 3
0
        private static void TrabalhandoRelacionamentoUmParaMuitos()
        {
            var pao = new Produto()
            {
                Nome          = "Pão",
                PrecoUnitario = 0.40,
                Unidade       = "Un",
                Categoria     = "Padaria"
            };

            var compra = new Compra
            {
                Quantidade = 6,
                Produto    = pao
            };

            compra.PrecoTotal = pao.PrecoUnitario * compra.Quantidade;

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Compras.Add(compra);
                ExibeEntries(contexto.ChangeTracker.Entries());
                contexto.SaveChanges();
            }
        }
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());
                var produtos = contexto.Produtos.ToList();
                foreach (var p in produtos)
                {
                    Console.WriteLine(p);
                }

                Console.WriteLine("===========================================");
                foreach (var e in contexto.ChangeTracker.Entries())
                {
                    Console.WriteLine(e.State);
                }

                var p1 = produtos.First();
                p1.Nome = "Harry Potter";

                contexto.SaveChanges();


                produtos = contexto.Produtos.ToList();
                foreach (var p in produtos)
                {
                    Console.WriteLine(p);
                }

                Console.WriteLine("Pressione qualquer tecla para continuar. . .");
                Console.ReadLine();
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var cliente = contexto
                              .Clientes
                              .Include(c => c.EnderecoDeEntrega)
                              .FirstOrDefault();

                Console.WriteLine($"Endereço de Entrega: {cliente.EnderecoDeEntrega.Logradouro}");

                var produto = contexto
                              .Produtos
                              .Where(p => p.Id == 3002)
                              .FirstOrDefault();

                contexto.Entry(produto)
                .Collection(p => p.Compras)
                .Query()
                .Where(c => c.Preco > 10)
                .Load();

                Console.WriteLine($"Mostrando as compras do produto {produto.Nome}");
                foreach (var intem in produto.Compras)
                {
                    Console.WriteLine("/t" + item);
                }
            }
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            var paoFrances = new Produto();

            paoFrances.Nome          = "Pão Francês";
            paoFrances.PrecoUnitario = 0.40;
            paoFrances.Unidade       = "Unidade";
            paoFrances.Categoria     = "Padaria";

            var compra = new Compra();

            compra.Quantidade = 6;
            compra.Produto    = paoFrances;
            compra.Preco      = paoFrances.PrecoUnitario * compra.Quantidade;

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Compras.Add(compra);



                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();

                ExibeEntries(contexto.ChangeTracker.Entries());
            }
        }
Ejemplo n.º 7
0
        static void MuitosParaMuitos()
        {
            var p1 = new Produto()
            {
                Nome = "Suco de Laranja", Categoria = "Bebidas", PrecoUnitario = 8.79, Unidade = "Litros"
            };
            var p2 = new Produto()
            {
                Nome = "Café", Categoria = "Bebidas", PrecoUnitario = 12.45, Unidade = "Gramas"
            };
            var p3 = new Produto()
            {
                Nome = "Macarrão", Categoria = "Alimentos", PrecoUnitario = 4.23, Unidade = "Gramas"
            };

            var promocaoDePascoa = new Promocao();

            promocaoDePascoa.Descricao   = "Páscoa Feliz";
            promocaoDePascoa.DataInicio  = DateTime.Now;
            promocaoDePascoa.DataTermino = DateTime.Now.AddMonths(3);

            promocaoDePascoa.IncluiProduto(p1);
            promocaoDePascoa.IncluiProduto(p2);
            promocaoDePascoa.IncluiProduto(p3);

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Promocoes.Add(promocaoDePascoa);
                contexto.SaveChanges();
            }
        }
        public static void Aula_04()
        {
            //compra de 6 pães franceses
            var paoFrances = new Produto();

            paoFrances.Nome          = "Pão Francês";
            paoFrances.PrecoUnitario = 0.40;
            paoFrances.Unidade       = "Unidade";
            paoFrances.Categoria     = "Padaria";

            var compra = new Compra();

            compra.Quantidade = 6;
            compra.Produto    = paoFrances;
            compra.Preco      = paoFrances.PrecoUnitario * compra.Quantidade;

            using (var contexto = new LojaContext())
            {
                // Procedimento para pegar o log de consulta do Entity Framework.
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Compras.Add(compra);
                ExibeEntries(contexto.ChangeTracker.Entries());


                contexto.SaveChanges();
            }
        }
Ejemplo n.º 9
0
        private static void IncluirPromocao()
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var promocao = new Promocao()
                {
                    Descricao   = "Queima total Janeiro 2017",
                    DataInicio  = new DateTime(2017, 1, 1),
                    DataTermino = new DateTime(2017, 1, 31)
                };

                var produtos = contexto
                               .Produtos
                               .Where(x => x.Categoria == "Bebidas")
                               .ToList();

                foreach (var item in produtos)
                {
                    promocao.IncluiProduto(item);
                }

                contexto.Add(promocao);

                ExibeEntries(contexto.ChangeTracker.Entries());
                contexto.SaveChanges();
            }
        }
Ejemplo n.º 10
0
        public static void InsertEntity()
        {
            #region Inserção ENtity
            //var paoFrances = new Produto()
            //{
            //    Nome = "Pão Françes",
            //    PrecoUnitario = 5.4,
            //    Categoria = "Padaria",
            //    Unidade = "Unidade"
            //};

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var paoFrances = contexto.Produtos.FirstOrDefault(x => x.Id == 8);

                var compra = new Compra();
                compra.Quantidade = 100;
                compra.Produto    = paoFrances;
                compra.Preco      = compra.Quantidade * paoFrances.PrecoUnitario;

                contexto.Compras.Add(compra);
                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();
            }
            #endregion
        }
Ejemplo n.º 11
0
        static void TestaChengeTracker()
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var produtos = contexto.Produtos.ToList();
                ExibeEntries(contexto.ChangeTracker.Entries());

                var novoProduto = new Produto() /*adicionando novo ´produto para poder observar a propriedade added*/
                {
                    Nome          = "sabão em pó",
                    Categoria     = "limpeza",
                    PrecoUnitario = 2.99
                };
                contexto.Produtos.Add(novoProduto);
                ExibeEntries(contexto.ChangeTracker.Entries());

                var p1 = produtos.Last();
                contexto.Produtos.Remove(p1);
                ExibeEntries(contexto.ChangeTracker.Entries());

                //contexto.SaveChanges();

                var entry = contexto.Entry(novoProduto);
                Console.WriteLine(entry.Entity.ToString() + "-" + entry.State);

                //ExibeEntries(contexto.ChangeTracker.Entries());
            }
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var cliente = contexto
                              .Clientes
                              .Include(c => c.EnderecoDeEntrega)
                              .FirstOrDefault();

                Console.WriteLine($"Endereço de entrega {cliente.EnderecoDeEntrega.Logradouro}");

                var produto = contexto
                              .Produtos
                              .Where(p => p.Id == 3002)
                              .FirstOrDefault();

                // Fazendo where dentro do include
                // Necessário dois selects
                contexto.Entry(produto)     // Argumento o primeiro select
                .Collection(p => p.Compras) // Define que o select vai ser dentro de Compras
                .Query()                    // Diz que vai fazer uma nova query
                .Where(c => c.Preco > 10)   // Passa as condições da query
                .Load();                    // Carrega essa query para dentro de produtos

                Console.WriteLine($"Mostrando as compras do produto {produto.Nome}");
                foreach (var item in produto.Compras)
                {
                    Console.WriteLine($"Foram comprados {item.Quantidade} {item.Produto.Nome}");
                }
            }
        }
Ejemplo n.º 13
0
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                //Configurando um logger que retorna o sql gerado pelo entity
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());


                var produtos = contexto.Produtos.ToList();
                ExibirEntries(contexto.ChangeTracker.Entries());

                var novoProduto = new Produto()
                {
                    Nome      = "Sabão em pó",
                    Categoria = "Limpeza",
                    Preco     = 8.40
                };
                contexto.Produtos.Add(novoProduto);
                contexto.Produtos.Remove(novoProduto);

                var p1 = produtos.First();
                contexto.Produtos.Remove(p1);

                ExibirEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();
                ExibirEntries(contexto.ChangeTracker.Entries());

                var entry = contexto.Entry(novoProduto);
                Console.WriteLine($"/n/n {entry.Entity.ToString()} - {entry.State}");
            }
        }
Ejemplo n.º 14
0
        private static void ExibeProdutosDaPromocao()
        {
            using (var contexto2 = new LojaContext())
            {
                var serviceProvider = contexto2
                                      .GetInfrastructure();
                var loggerFactory = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var promocao = contexto2
                               .Promocoes
                               .Include(p => p.Produtos)
                               .ThenInclude(pp => pp.Produto)
                               .FirstOrDefault();

                Console.WriteLine("\nMostrando os produtos da promoção..");

                foreach (var item in promocao.Produtos)
                {
                    Console.WriteLine(item.Produto);
                }
            }

            Console.ReadLine();
        }
Ejemplo n.º 15
0
        private static void SelecionandoUmParaUm()
        {
            using (var contexto = new LojaContext())
            {
                var loggerFactory = contexto.GetInfrastructure <IServiceProvider>().GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var cliente = contexto
                              .Clientes
                              .Include(c => c.EnderecoDeEntrega)
                              .FirstOrDefault();
                Console.WriteLine(cliente.EnderecoDeEntrega.Logradouro);

                var produto = contexto
                              .Produtos
                              .Include(p => p.Compras)
                              .Where(p => p.Id == 8)
                              .FirstOrDefault();

                foreach (var item in produto.Compras)
                {
                    Console.WriteLine(item);
                }
            }
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var cliente = contexto
                              .Clientes
                              .Include(c => c.EnderecoEntrega)
                              .FirstOrDefault();

                var produto = contexto
                              .Produtos
                              .Include(p => p.Compras)
                              .Where(p => p.Id == 9004)
                              .FirstOrDefault();

                //Console.WriteLine("Mostrando as compras do"+ produto.Nome);
                foreach (var item in produto.Compras)
                {
                    Console.WriteLine(item);
                }

                Console.WriteLine($"Endereço de Entrega: {cliente.EnderecoEntrega.Logradouro}");
            }
        }
Ejemplo n.º 17
0
        private static void UmParaUm()
        {
            var fulano = new Cliente();

            fulano.Nome = "Fulano de tal";
            fulano.EnderecoDeEntrega = new Endereco()
            {
                Numero      = 12,
                Logradouro  = "Rua da casa",
                Compremento = "Complemento do endereco",
                Bairro      = "Portão",
                Cidade      = "Cidade",
                CEP         = "80610280",
                Estado      = "PR"
            };

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Add(fulano);

                //var promocao = contexto.Promocoes.Find(1);
                //contexto.Promocoes.Remove(promocao);

                ExibeEntries(contexto.ChangeTracker.Entries());
                contexto.SaveChanges();
            }
        }
Ejemplo n.º 18
0
        static void Main(string[] args)
        {
            var cliente = new Cliente();

            cliente.Nome            = "Pedro Grachet";
            cliente.EnderecoEntrega = new Endereco()
            {
                Numero      = 184,
                Logradouro  = "Rua Cezar Oscar Velho",
                Complemento = "Ao Lado da Escola",
                Bairro      = "Res. Farias",
                Cidade      = "Rondonópolis"
            };

            using (var context = new LojaContext())
            {
                var serviceProvider = context.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                context.Clientes.Add(cliente);
                ExibeEntries(context.ChangeTracker.Entries());

                context.SaveChanges();
                ExibeEntries(context.ChangeTracker.Entries());
            }
        }
Ejemplo n.º 19
0
        private static void UmParaMuitos()
        {
            var paoFrances = new Produto
            {
                Nome          = "Pão Francês",
                PrecoUnitario = 0.40,
                Unidade       = "Unidade",
                Categoria     = "Padaria"
            };

            var compra = new Compra();

            compra.Quantidade = 6;
            compra.Produto    = paoFrances;
            compra.Preco      = paoFrances.PrecoUnitario * compra.Quantidade;

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Compras.Add(compra);

                contexto.SaveChanges();
            }

            Console.ReadLine();
        }
Ejemplo n.º 20
0
        ////////////////////////////////////////////////////////////////////
        ///// RELACIONAMENTOS
        private static void UmparaUm()
        {
            var fulano = new Cliente();

            fulano.Nome = "Fulano de Tal";
            fulano.EnderecoDeEntrega = new Endereco()
            {
                Numero      = 12,
                Logradouro  = "Rua dos Inválidos",
                Complemento = "sobrado",
                Bairro      = "Centro",
                Cidade      = "Cidade"
            };

            using (var contexto = new LojaContext())
            {
                //Acionando o LOGGER !!
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Clientes.Add(fulano);
                contexto.SaveChanges();
            }
        }
Ejemplo n.º 21
0
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                //var cliente = contexto.Clientes.Include(c => c.EnderecoDeEntrega).FirstOrDefault();

                //Console.WriteLine($"Endereço de entrega: {cliente.EnderecoDeEntrega.Logradouro}");

                //var produto = contexto.Produtos.Where(p => p.Id == 4002).FirstOrDefault();

                //contexto.Entry(produto).Collection(p => p.Compras).Query().Where(c => c.Preco > 1).Load();

                //Console.WriteLine($"Mostrando compras do produto {produto.Nome}");
                //foreach (var item in produto.Compras)
                //{
                //    Console.WriteLine("\t" + item);
                //}

                var produto = contexto.Produtos.Where(p => p.Id == 6003).FirstOrDefault();
                var compra  = new Compra();
                compra.Produto    = produto;
                compra.Quantidade = 100;
                compra.Preco      = produto.PrecoUnitario * compra.Quantidade;
                contexto.Add(compra);
                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();
            }

            Console.ReadLine();
        }
Ejemplo n.º 22
0
        private static void IncluirPromocao()
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var promocao = new Promocao();
                promocao.Descricao   = "Queima Total Julho 2021";
                promocao.DataInicio  = new DateTime(2021, 07, 01);
                promocao.DataTermino = promocao.DataInicio.AddMonths(1);

                var produtos = contexto.Produtos.Where(p => p.Categoria == "Bebidas").ToList();

                foreach (var item in produtos)
                {
                    promocao.IncluiProduto(item);
                }
                contexto.Promocoes.Add(promocao);

                ExibeEntries(contexto.ChangeTracker.Entries());
                contexto.SaveChanges();
                ExibeEntries(contexto.ChangeTracker.Entries());
            }
        }
Ejemplo n.º 23
0
        private static void LogSql(LojaContext contexto)
        {
            var serviceProvider = contexto.GetInfrastructure();
            var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();

            loggerFactory.AddProvider(SqlLoggerProvider.Create());
        }
Ejemplo n.º 24
0
        private static void GerarLogSqlEntity(LojaContext context)
        {
            // Gerando log das ações do entity (Added, Modified etc...)
            var serviceProvider = context.GetInfrastructure <IServiceProvider>();
            var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();

            loggerFactory.AddProvider(SqlLoggerProvider.Create());
        }
Ejemplo n.º 25
0
        private static void ExibeCodigoSqlDoEntity(LojaContext context)
        {
            //Código para mostrar o SQL Gerado pelo Banco
            var serviceProvider = context.GetInfrastructure <IServiceProvider>();
            var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();

            loggerFactory.AddProvider(SqlLoggerProvider.Create());
        }
Ejemplo n.º 26
0
        public static void JoinRelacionamentoUmParaUm()
        {
            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());


                var cliente = contexto
                              .Clientes
                              .Include(c => c.EnderecoDeEntrega)  // Relacionamento com a tabela enderço
                              .FirstOrDefault();


                Console.WriteLine($"Endereço de entrega: {cliente.EnderecoDeEntrega.Logradouro}");

                var produto = contexto
                              .Produtos
                              .Include(p => p.Compras)
                              .Where(p => p.Id == 16)
                              .FirstOrDefault();

                Console.WriteLine($"\n***************************************************\n");
                Console.WriteLine($"Mostrando as compras do produto {produto.Nome}");
                Console.WriteLine($"\n***************************************************");

                foreach (var item in produto.Compras)
                {
                    Console.WriteLine(item.Produto);
                }

                /*
                 *  Executaremos a aplicação com "Ctrl + F5".
                 *  Poderemos ver que foi executado um SELECT em Produtos no banco de dados,
                 *  buscando o produto com o Id passado no filtro Where().
                 *  Em seguida foi feito um segundo SELECT em Compras,
                 *  filtrando pelo Id do produto passado no Entry() e pelo preço.
                 *  Por fim, serão apresentados os produtos com preço acima de R$ 10,00.
                 *
                 *  Esse cenário é bastante utilizado quando queremos aplicar filtros em
                 *  objetos relacionados da aplicação. Esta estratégia é conhecida como
                 *  Carregamento Explícito, onde trazemos só o que nos interessa.
                 *
                 *                 */
                // fazendo join e filtrando os dados da tabela join

                contexto.Entry(produto)     // Faz uma pesquina na tabela produto
                .Collection(p => p.Compras) // Vincula lista de compra na tabela produto
                .Query()                    // Faz uma query
                .Where(c => c.Preco > 10)   // filtra a query com as informações da compra
                .Load();                    // carrega os dados da compra.


                Console.ReadLine();
            }
        }
Ejemplo n.º 27
0
        private static void MuitosParaMuitos()
        {
            //var paoFrances = new Produto();
            //paoFrances.Nome = "Pao Frances";
            //paoFrances.PrecoUnitario = 0.40;
            //paoFrances.Unidade = "Unidade";
            //paoFrances.Categoria = "Padaria";

            //var compra = new Compra();
            //compra.Quantidade = 6;
            //compra.Produto = paoFrances;
            //compra.Preco = paoFrances.PrecoUnitario * compra.Quantidade;
            var p1 = new Produto();

            p1.Nome          = "Suco de Laranja";
            p1.Categoria     = "Bebidas";
            p1.PrecoUnitario = 8.79;
            p1.Unidade       = "Litros";

            var p2 = new Produto()
            {
                Nome = "Café", Categoria = "Bebida", PrecoUnitario = 12.45, Unidade = "Gramas"
            };
            var p3 = new Produto()
            {
                Nome = "Macarrão", Categoria = "Alimento", PrecoUnitario = 4.23, Unidade = "Gramas"
            };

            var promocaoDePascoa = new Promocao();

            promocaoDePascoa.Descricao   = "Páscoa Feliz";
            promocaoDePascoa.DataInicio  = DateTime.Now;
            promocaoDePascoa.DataTermino = DateTime.Now.AddMonths(3);


            promocaoDePascoa.IncluiProduto(p1);
            promocaoDePascoa.IncluiProduto(p2);
            promocaoDePascoa.IncluiProduto(p3);



            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                //contexto.Promocoes.Add(promocaoDePascoa);
                var promocao = contexto.Promocoes.Find(1);

                contexto.Promocoes.Remove(promocao);

                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();
            }
        }
Ejemplo n.º 28
0
        public static void Main(string[] args)
        {
            //var paoFrances = new Produto();
            //paoFrances.Categoria = "Padaria";
            //paoFrances.Nome = "Pão Frances";
            //paoFrances.PrecoUnitario = 0.33;
            //paoFrances.Unidade = "Unidade";

            //var compra = new Compra();
            //compra.Quantidade = 6;
            //compra.Produto = paoFrances;
            //compra.Preco = paoFrances.PrecoUnitario * compra.Quantidade;

            var produto1 = new Produto()
            {
                Nome = "Batata", Categoria = "Vegetal", PrecoUnitario = 1.55, Unidade = "Kilo"
            };
            var produto2 = new Produto()
            {
                Nome = "Alho", Categoria = "Vegetal", PrecoUnitario = 1.25, Unidade = "gramas"
            };
            var produto3 = new Produto()
            {
                Nome = "Cebola", Categoria = "Vegetal", PrecoUnitario = 1.90, Unidade = "gramas"
            };

            var promocaoPascoa = new Promocao();

            promocaoPascoa.Descricao   = "Pascoa Feliz";
            promocaoPascoa.DataInicio  = DateTime.Now;
            promocaoPascoa.DataTermino = DateTime.Now.AddMonths(4);


            promocaoPascoa.IncluiProduto(produto1);



            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                contexto.Promocoes.Add(promocaoPascoa);
                contexto.SaveChanges();

                //contexto.Compras.Add(compra);
                ExibeEntries(contexto.ChangeTracker.Entries());
                contexto.SaveChanges();
                Console.ReadLine();
            }
        }
Ejemplo n.º 29
0
        private static void NParaN()
        {
            var promocao = new Promocao();

            promocao.Descricao   = "Páscoa Feliz";
            promocao.DataInicial = DateTime.Now;
            promocao.DataFinal   = DateTime.Now.AddMonths(3);
            var p1 = new Produto()
            {
                Nome          = "Barra de Chocolate",
                Categoria     = "Alimento",
                PrecoUnitario = 5.0,
                Unidade       = "gramas"
            };

            var p2 = new Produto()
            {
                Nome          = "Boneca Bebê",
                Categoria     = "Brinquedo",
                PrecoUnitario = 89.90,
                Unidade       = "Unidade"
            };

            var p3 = new Produto()
            {
                Nome          = "Ovo de Páscoa",
                Categoria     = "Alimento",
                PrecoUnitario = 35.0,
                Unidade       = "gramas"
            };

            promocao.IncluiProduto(p1);
            promocao.IncluiProduto(p2);
            promocao.IncluiProduto(p3);

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure();
                var loggerFactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var entries = contexto.ChangeTracker.Entries();

                var promo = contexto.Promocoes.First();
                ImprimeEstados(entries);
                contexto.Remove(promo);
                ImprimeEstados(entries);
                contexto.SaveChanges();
                ImprimeEstados(entries);
            }
        }
Ejemplo n.º 30
0
        private static void MuitosParaMuitos()
        {
            var p1 = new Produto()
            {
                Nome = "Suco de laranja", Categoria = "Bebidas", PrecoUnitario = 7.50, Unidade = "Litros"
            };
            var p2 = new Produto()
            {
                Nome = "Café", Categoria = "Bebidas", PrecoUnitario = 12.45, Unidade = "kg"
            };
            var p3 = new Produto()
            {
                Nome = "Arroz", Categoria = "Alimentos", PrecoUnitario = 25.00, Unidade = "kg"
            };

            var promocaoDePascoa = new Promocao();

            promocaoDePascoa.Descricao   = "Páscoa Feliz";
            promocaoDePascoa.DataInicio  = DateTime.Now;
            promocaoDePascoa.DataTermino = DateTime.Now.AddMonths(3);

            promocaoDePascoa.IncluiProduto(p1);
            promocaoDePascoa.IncluiProduto(p2);
            promocaoDePascoa.IncluiProduto(p3);


            ////compra de 6 pães franceses
            //var paoFrances = new Produto();
            //paoFrances.Nome = "Pão Francês";
            //paoFrances.PrecoUnitario = 0.40;
            //paoFrances.Unidade = "Unidade";
            //paoFrances.Categoria = "Padaria";

            //var compra = new Compra();
            //compra.Quantidade = 6;
            //compra.Produto = paoFrances;
            //compra.Preco = paoFrances.PrecoUnitario * compra.Quantidade;

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure <IServiceProvider>();
                var loggerfactory   = serviceProvider.GetService <ILoggerFactory>();
                loggerfactory.AddProvider(SqlLoggerProvider.Create());

                //contexto.Promocoes.Add(promocaoDePascoa);
                var promocao = contexto.Promocoes.Find(2);
                contexto.Promocoes.Remove(promocao);
                contexto.SaveChanges();
            }
        }