public LojaContext() : base() { var serviceProvider = this.GetInfrastructure <IServiceProvider>(); var loggerFactory = serviceProvider.GetService <ILoggerFactory>(); loggerFactory.AddProvider(SqlLoggerProvider.Create()); }
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.Last(); p1.Nome = "007 - O Espiao Que Me Amava"; Console.WriteLine("================="); foreach (var e in contexto.ChangeTracker.Entries()) { Console.WriteLine(e.State); } contexto.SaveChanges(); //Console.WriteLine("================="); //produtos = contexto.Produtos.ToList(); //foreach (var p in produtos) //{ // Console.WriteLine(p); //} } }
static void OldMain2() { 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 p1 = produtos.First(); //p1.Nome = "Censura"; // O SQL chama um Update(); //var novoProduto = new Produto() //{ // Nome = "Desinfetante", // Categoria = "Limpeza", // Preco = 2.99 //}; //contexto.Produtos.Add(novoProduto); // O SQL chama um Insert(); var p1 = produtos.Last(); contexto.Produtos.Remove(p1); // O SQL chama um Delete(); // var entry = contexto.Entry(novoProduto); // Caso adicionado e deletado antes do SaveChanges(); // podemos perguntar pelo elemento dessa forma, sendo categorizado como 'Detached' pelo entry.State; ExibeEntries(contexto.ChangeTracker.Entries()); contexto.SaveChanges(); ExibeEntries(contexto.ChangeTracker.Entries()); } }