static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); var livro1 = new Livro { Titulo = "Domain - Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003 }; var livro2 = new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006 }; db.Livros.AddRange(livro1, livro2); // Definindo o valor em cada objeto db.Entry(livro1).Property("UltimaAtualizacao").CurrentValue = DateTime.Now; db.Entry(livro2).Property("UltimaAtualizacao").CurrentValue = DateTime.Now.AddMinutes(1); db.SaveChanges(); Console.WriteLine("------------ RESULTADOS ------------"); db.Livros .OrderBy(x => EF.Property <DateTime>(x, "UltimaAtualizacao")) .Select(x => new { x.Titulo, UltimaAtualizacao = EF.Property <DateTime>(x, "UltimaAtualizacao") }).ToList() .ForEach(x => Console.WriteLine($"Titulo: {x.Titulo} | Atualizado em {x.UltimaAtualizacao}")); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureCreated(); if (db.Livros.Any()) { db.Database.ExecuteSqlCommand("DELETE FROM dbo.Livros"); } var livro = new Livro { Autor = "Eric Evans", AnoPublicacao = 2003 }; livro.SetTitulo("Domain - Driven Design: Tackling Complexity in the Heart of Software"); db.Livros.Add(livro); db.SaveChanges(); Console.WriteLine("------------ RESULTADOS ------------"); db.Livros.ForEachAsync(x => Console.WriteLine("Título: " + x.GetTitulo())); Console.WriteLine("Livros encontrados: " + db.Livros.Count(x => EF.Property <string>(x, "Titulo").Contains("Domain"))); Console.ReadKey(); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); db.Pessoas.Add( new Pessoa { Nome = "André Luiz Secco", Idade = 26, Contato = new Contato() { Telefone = new Telefone() { DDD = 49, Numero = 11111111 } } }); db.SaveChanges(); var pessoa = db.Pessoas.FirstOrDefault(); System.Console.WriteLine($"Nome: {pessoa.Nome}"); System.Console.WriteLine($"Telefone: ({pessoa.Contato.Telefone.DDD}) {pessoa.Contato.Telefone.Numero}"); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); db.Livros.Add(new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003 }); db.Livros.Add(new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006 }); db.Livros.Add(new Livro { Titulo = "Clean Code: A Handbook of Agile Software Craftsmanship", Autor = "Robert C. Martin", AnoPublicacao = 2008 }); db.Livros.Add(new Livro { Titulo = "Implementing Domain-Driven Design", Autor = "Vaughn Vernon", AnoPublicacao = 2013 }); db.Livros.Add(new Livro { Titulo = "Patterns, Principles, and Practices of Domain-Driven Design", Autor = "Scott Millet", AnoPublicacao = 2015 }); db.Livros.Add(new Livro { Titulo = "Refactoring: Improving the Design of Existing Code ", Autor = "Martin Fowler", AnoPublicacao = 2012 }); db.SaveChanges(); Console.WriteLine("------------ RESULTADO ------------"); Console.WriteLine("Título: " + _livroById(db, 3).Titulo); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); db.Livros.Add(new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003 }); db.Livros.Add(new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006 }); db.Livros.Add(new Livro { Titulo = "Clean Code: A Handbook of Agile Software Craftsmanship", Autor = "Robert C. Martin", AnoPublicacao = 2008 }); db.Livros.Add(new Livro { Titulo = "Implementing Domain-Driven Design", Autor = "Vaughn Vernon", AnoPublicacao = 2013, DataExclusao = DateTime.Now }); db.Livros.Add(new Livro { Titulo = "Patterns, Principles, and Practices of Domain-Driven Design", Autor = "Scott Millet", AnoPublicacao = 2015, DataExclusao = DateTime.Now }); db.Livros.Add(new Livro { Titulo = "Refactoring: Improving the Design of Existing Code ", Autor = "Martin Fowler", AnoPublicacao = 2012, DataExclusao = DateTime.Now }); db.SaveChanges(); Console.WriteLine("------------ RESULTADOS ------------"); db.Livros.ToList().ForEach(x => Console.WriteLine("Título: " + x.Titulo)); System.Console.WriteLine(); Console.WriteLine("------------ RESULTADOS (IGNORANDO QUERY FILTERS) ------------"); db.Livros.IgnoreQueryFilters().ToList().ForEach(x => Console.WriteLine("Título: " + x.Titulo)); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); } }
public static void ConsultaComStringInterpolation(string filtro) { using (var db = new LivrosContext()) { var livros = db.Livros.FromSql($"SELECT * FROM dbo.Livros WHERE AnoPublicacao = {filtro}").ToList(); Console.WriteLine("------------ RESULTADOS ------------"); livros.ForEach(x => Console.WriteLine("Título: " + x.Titulo)); } }
public static void ConsultaComLinq(string filtro) { using (var db = new LivrosContext()) { var livros = db.Livros.FromSql("SELECT * FROM dbo.Livros WHERE Titulo LIKE '%' + @p0 + '%'", filtro).Where(x => x.AnoPublicacao == 2013).ToList(); Console.WriteLine("------------ RESULTADOS ------------"); livros.ForEach(x => Console.WriteLine("Título: " + x.Titulo)); } }
public LivrosController(LivrosContext context) { _context = context; if (_context.LivrosItems.Count() == 0) { // Create a new TodoItem if collection is empty, // which means you can't delete all TodoItems. _context.LivrosItems.Add(new LivrosItem { Nome = "Item1" }); _context.SaveChanges(); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); if (db.Livros.Any()) { db.Database.ExecuteSqlCommand("DELETE FROM dbo.Livros"); } db.Livros.Add(new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003 }); db.Livros.Add(new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006 }); db.Livros.Add(new Livro { Titulo = "Clean Code: A Handbook of Agile Software Craftsmanship", Autor = "Robert C. Martin", AnoPublicacao = 2008 }); db.Livros.Add(new Livro { Titulo = "Implementing Domain-Driven Design", Autor = "Vaughn Vernon", AnoPublicacao = 2013 }); db.Livros.Add(new Livro { Titulo = "Patterns, Principles, and Practices of Domain-Driven Design", Autor = "Scott Millet", AnoPublicacao = 2015 }); db.Livros.Add(new Livro { Titulo = "Refactoring: Improving the Design of Existing Code", Autor = "Martin Fowler", AnoPublicacao = 2012 }); db.SaveChanges(); System.Console.WriteLine("****** CONSULTA COMUM ******"); ConsultaComum("Domain"); System.Console.WriteLine("****** CONSULTA COM LINQ ******"); ConsultaComLinq("Domain"); System.Console.WriteLine("****** CONSULTA COM STRING INTERPOLATION ******"); ConsultaComStringInterpolation("2013"); System.Console.WriteLine("****** CONSULTA COM STRING INTERPOLATION - PROBLEMAS DE SQL INJECTION ******"); ConsultaComStringInterpolationSqlInjection("2013; DROP TABLE Livros;"); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); db.Livros.Add(new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003 }); db.Livros.Add(new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006 }); db.Livros.Add(new Livro { Titulo = "Clean Code: A Handbook of Agile Software Craftsmanship", Autor = "Robert C. Martin", AnoPublicacao = 2008 }); db.Livros.Add(new Livro { Titulo = "Implementing Domain-Driven Design", Autor = "Vaughn Vernon", AnoPublicacao = 2013 }); db.Livros.Add(new Livro { Titulo = "Patterns, Principles, and Practices of Domain-Driven Design", Autor = "Scott Millet", AnoPublicacao = 2015 }); db.Livros.Add(new Livro { Titulo = "Refactoring: Improving the Design of Existing Code ", Autor = "Martin Fowler", AnoPublicacao = 2012 }); db.SaveChanges(); Console.WriteLine("------------ RESULTADOS ------------"); var livros = db.Livros .GroupBy(x => x.Autor) .Select(x => new { Autor = x.Key, QtdLivros = x.Count() }); livros.ToList().ForEach(x => { Console.WriteLine($"Autor: {x.Autor}"); Console.WriteLine($"Quantidade de Livros: {x.QtdLivros}\r\n"); }); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureCreated(); db.Livros.Add( new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003, Detalhes = new LivroDetalhes() { Editora = "Addison-Wesley", NumeroPaginas = 560 } }); db.SaveChanges(); } }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureCreated(); if (db.Livros.Any()) { db.Database.ExecuteSqlCommand("DELETE FROM dbo.Livros"); } db.Livros.Add(new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003 }); db.Livros.Add(new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006 }); db.Livros.Add(new Livro { Titulo = "Clean Code: A Handbook of Agile Software Craftsmanship", Autor = "Robert C. Martin", AnoPublicacao = 2008 }); db.Livros.Add(new Livro { Titulo = "Implementing Domain-Driven Design", Autor = "Vaughn Vernon", AnoPublicacao = 2013 }); db.Livros.Add(new Livro { Titulo = "Patterns, Principles, and Practices of Domain-Driven Design", Autor = "Scott Millet", AnoPublicacao = 2015 }); db.Livros.Add(new Livro { Titulo = "Refactoring: Improving the Design of Existing Code", Autor = "Martin Fowler", AnoPublicacao = 2012 }); db.SaveChanges(); Console.Write("Digite o termo para buscar: "); var termoBusca = Console.ReadLine(); var livros = db.Livros.FromSql("SELECT * FROM dbo.Livros WHERE Titulo LIKE '%' + @p0 + '%'", termoBusca).Where(x => x.AnoPublicacao == 2013); Console.WriteLine("------------ RESULTADOS ------------"); livros.ForEachAsync(x => Console.WriteLine("Título: " + x.Titulo)); Console.ReadKey(); } }
public LivroController(LivrosContext context) { _context = context; }
public HomeController(LivrosContext db) =>
public AutorController(LivrosContext context) { _context = context; }
static void Main(string[] args) { using (var db = new LivrosContext()) { db.Database.EnsureDeleted(); db.Database.EnsureCreated(); db.Database.ExecuteSqlCommand( @"CREATE FUNCTION [dbo].[ExemplaresDisponiveis] (@livroId INT) RETURNS INT AS BEGIN DECLARE @count AS INT SET @count = (SELECT QtdExemplares FROM Livros WHERE LivroId = @livroId)-(SELECT COUNT(*) FROM LivroEmprestimo WHERE LivroId = @livroId AND DataDevolucao IS NULL) RETURN @count END" ); db.Livros.Add( new Livro { Titulo = "Domain-Driven Design: Tackling Complexity in the Heart of Software", Autor = "Eric Evans", AnoPublicacao = 2003, QtdExemplares = 5, Emprestimos = new List <LivroEmprestimo>() { new LivroEmprestimo() { NomeAluno = "José da Silva", DataEmprestimo = DateTime.Parse("01/11/2017"), DataLimiteDevolucao = DateTime.Parse("07/11/2017"), }, new LivroEmprestimo() { NomeAluno = "Alexandre Alves", DataEmprestimo = DateTime.Parse("03/11/2017"), DataLimiteDevolucao = DateTime.Parse("10/11/2017"), } } }); db.Livros.Add( new Livro { Titulo = "Agile Principles, Patterns, and Practices in C#", Autor = "Robert C. Martin", AnoPublicacao = 2006, QtdExemplares = 2, Emprestimos = new List <LivroEmprestimo>() { new LivroEmprestimo() { NomeAluno = "Marcos Ribeiro", DataEmprestimo = DateTime.Parse("02/11/2017"), DataLimiteDevolucao = DateTime.Parse("08/11/2017"), }, new LivroEmprestimo() { NomeAluno = "Fernando Lopes", DataEmprestimo = DateTime.Parse("03/11/2017"), DataLimiteDevolucao = DateTime.Parse("10/11/2017"), } } }); db.SaveChanges(); Console.WriteLine("------------ RESULTADOS ------------"); var query = from p in db.Livros select new { Titulo = p.Titulo, ExemplaresDisponiveis = LivrosContext.ExemplaresDisponiveis(p.LivroId) }; query.ToList().ForEach(x => { Console.WriteLine("Título: " + x.Titulo); Console.WriteLine("Exemplares disponíveis: " + x.ExemplaresDisponiveis); }); System.Console.WriteLine(); Console.WriteLine("------------ RESULTADOS (Apenas disponíveis) ------------"); var query2 = from p in db.Livros where LivrosContext.ExemplaresDisponiveis(p.LivroId) > 0 select p; query2.ToList().ForEach(x => { Console.WriteLine("Título: " + x.Titulo); }); Console.ReadKey(); } }
public CategoriaController(LivrosContext context) { _context = context; }