private static void QueryAvanzado() { var db = new DbContextLinqEntityFramework(); //Esta linea muestra la consulta en sql server de tu consulta linq db.Database.Log = Console.WriteLine; var querySinLamda = from carro in db.Carros group carro by carro.Fabricante into fabricante select new { Nombre = fabricante.Key, Carros = (from carro in fabricante orderby carro.Rendimiento descending select carro).Take(2) }; var queryConLamda = db.Carros.GroupBy(c => c.Fabricante) .Select(g => new { Nombre = g.Key, Carros = g.OrderByDescending(c => c.Rendimiento).Take(2) }); foreach (var grupo in querySinLamda) { Console.WriteLine(grupo.Nombre); foreach (var carro in grupo.Carros) { Console.WriteLine($"\t{carro.Nombre} : {carro.Rendimiento}"); } } }
private static void InsertDatos() { var carros = ProcesarArchivoFuelCSV("fuel.csv"); var db = new DbContextLinqEntityFramework(); if (!db.Carros.Any()) { foreach (var carro in carros) { db.Carros.Add(carro); } db.SaveChanges(); } }
private static void QueriesLinq() { var db = new DbContextLinqEntityFramework(); //Esta linea muestra la consulta en sql server de tu consulta linq db.Database.Log = Console.WriteLine; //var querySinLamda = from carro in db.Carros // orderby carro.Rendimiento descending, carro.Nombre ascending // select carro; //foreach (var carro in querySinLamda.Take(10)) //{ // Console.WriteLine($"{carro.Nombre} : {carro.Rendimiento}"); //} //var queryConLamda = db.Carros // .Where(c => c.Fabricante == "BMW ") // .OrderByDescending(o => o.Rendimiento) // .ThenBy(c => c.Nombre) // .Take(10); //foreach (var carro in queryConLamda) //{ // Console.WriteLine($"{carro.Nombre} : {carro.Rendimiento}"); //} var queryConLamda2 = db.Carros .Where(c => c.Fabricante == "BMW ") .OrderByDescending(o => o.Rendimiento) .ThenBy(c => c.Nombre) .Take(10) .Select(c => new { Nombre = c.Nombre.ToUpper() }) .ToList(); foreach (var item in queryConLamda2) { Console.WriteLine(item.Nombre); } }