private static void ConfigurandoRestricoesUnique() { using (var contexto = new AluraFilmesContexto()) { contexto.LogSQLToConsole(); var ator1 = new Ator { PrimeiroNome = "Emma", UltimoNome = "Watson" }; var ator2 = new Ator { PrimeiroNome = "Emma", UltimoNome = "Watson" }; contexto.Atores.AddRange(ator1, ator2); contexto.SaveChanges(); var emmaWatson = contexto.Atores .Where(a => a.PrimeiroNome == "Emma" && a.UltimoNome == "Watson"); Console.WriteLine($"Total de atores encontrados: {emmaWatson.Count()}"); } Console.ReadLine(); }
public static void UtilizandoShadowProperties() { using (var context = new AluraFilmesContext()) { // Adicionando Ator var ator = new Ator(); ator.PrimeiroNome = "Tom"; ator.UltimoNome = "Hanks"; context.Entry(ator).Property("last_update").CurrentValue = DateTime.Now; // Adicionando valor a uma Shadow Property context.Atores.Add(ator); //context.SaveChanges(); // Recuperando Ator var ator2 = context.Atores.FirstOrDefault(); Console.WriteLine(ator2); Console.WriteLine(context.Entry(ator2).Property("last_update").CurrentValue); // Recuperando valor de uma Shadow Property // Listar os 10 atores modificados recentemente var atoresMaisRecentesalterados = context.Atores .OrderByDescending(a => EF.Property <DateTime>(a, "last_update")) // Ordenando por uma Shadow Property .Take(10); foreach (var item in atoresMaisRecentesalterados) { Console.WriteLine(item + " - " + context.Entry(item).Property("last_update").CurrentValue); } } }
public static void LerPropriedadeShadowProperty() { // Select na tabela actor using (var contexto = new AluraFilmeContexto()) { contexto.LogSQLToConsole(); var ator = new Ator() { PrimeiroNome = "Tom", SegundoNome = "Hanks" }; // Informar uma coluna que existe no banco de dados mas não está declarada na classe // Shadow Property //contexto.Entry(ator).Property("last_update").CurrentValue = DateTime.Now; contexto.Atores.Add(ator); contexto.SaveChanges(); Console.ReadLine(); } }
private static void CadastroDeAtor() { using (var contexto = new AluraFilmesContexto()) { contexto.LogSQLToConsole(); Ator ator = new Ator() { PrimeiroNome = "Will", UltimoNome = "Smith" }; contexto.Entry(ator).Property("last_update").CurrentValue = DateTime.Now; contexto.Atores.Add(ator); contexto.SaveChanges(); } }
private static void DefinindoShadowProperties() { using (var contexto = new AluraFilmesContexto()) { contexto.LogSQLToConsole(); var ator = new Ator { PrimeiroNome = "Tom", UltimoNome = "Hanks" }; contexto.Entry(ator).Property <DateTime>("last_update").CurrentValue = DateTime.Now; contexto.Atores.Add(ator); contexto.SaveChanges(); } Console.ReadLine(); }
public static void CriandoChaveUnique() { using (var contexto = new AluraFilmeContexto()) { contexto.LogSQLToConsole(); var ator1 = new Ator { PrimeiroNome = "Emma", SegundoNome = "Watson" }; var ator2 = new Ator { PrimeiroNome = "Emma", SegundoNome = "Watson" }; contexto.Atores.AddRange(ator1, ator2); contexto.SaveChanges(); var emmaWatson = contexto.Atores .Where(a => a.PrimeiroNome == "Emma" && a.SegundoNome == "Watson"); Console.WriteLine($"Total de atores encontrados: {emmaWatson.Count()}."); } Console.ReadLine(); }
static void Main2(string[] args) { using (var context = new AluraFilmesContexto()) { context.LogSQLToConsole(); //chama o metodo de logar o sql do entity //foreach (var ator in context.Atores) //{ // System.Console.WriteLine($"ator: {ator}"); //} var ator = new Ator(); ator.PrimeiroNome = "Tom"; ator.UltimoNome = "Hanks"; //como setar valor de uma shaddow property se nao é definido no builder //context.Entry(actor).Property("last_update").CurrentValue = DateTime.Now; context.Atores.Add(ator); context.SaveChanges(); //recuperar valores de shadow properties Console.WriteLine(context.Entry(ator).Property("last_update")); //listar os dez primeiros atores ordenados por last update de forma decrescente var atores = context.Atores//query em cima do conjunto de atores .OrderByDescending(a => EF.Property <DateTime>(a, "last_update")) .Take(10); foreach (var ator1 in atores) { Console.WriteLine(ator1 + " " + context.Entry(ator1).Property("last_update").CurrentValue); } //para atribuir: //contexto.Entry(aluno) // .Property("nota_inicial") // .CurrentValue = 8; //para recuperar: //var nota = contexto.Entry(aluno) // .Property("nota_inicial") // .CurrentValue; } }