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()); } }
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(); } }
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); } } }
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()); } }
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(); } }
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(); } }
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 }
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()); } }
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}"); } } }
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(); }
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}"); } }
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}"); } }
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(); } }
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); } } }
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(); }
//////////////////////////////////////////////////////////////////// ///// 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(); } }
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()); } }
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(); }
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()); } }
private static void LogSql(LojaContext contexto) { var serviceProvider = contexto.GetInfrastructure(); var loggerFactory = serviceProvider.GetService <ILoggerFactory>(); loggerFactory.AddProvider(SqlLoggerProvider.Create()); }
internal static void LogContext(LojaContext contexto) { var serviceProvider = contexto.GetInfrastructure <IServiceProvider>(); var loggerFactory = serviceProvider.GetService <ILoggerFactory>(); loggerFactory.AddProvider(Create()); }
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()); }
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()); }
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(); } }
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(); } }
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(); } }
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); } }
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(); } }