private static void InsertData() { var cars = ProcessCars("fuel.csv"); var db = new CardDb(); if (!db.Cars.Any()) { foreach (var car in cars) { db.Cars.Add(car); } db.SaveChanges(); } }
private static void QueryData() { var db = new CardDb(); // this is a query that you'd expect to have trouble with // because it calls on heirachical resluts, which is not something SQL Does // but EntityFW can accomodate with a complex SQL query // it has to do so in order to give them back in a way that works well in C# db.Database.Log = Console.WriteLine; var query = db.Cars.GroupBy(c => c.Manufacturer) .Select(g => new { Name = g.Key, Cars = g.OrderByDescending(c => c.Combined).Take(2) }); // same thing with query syntax var query2 = from car in db.Cars group car by car.Manufacturer into manufacturer select new { Name = manufacturer.Key, Cars = (from car in manufacturer orderby car.Combined descending select car).Take(2) }; foreach (var group in query2) { Console.WriteLine(group.Name); foreach (var car in group.Cars) { Console.WriteLine($"\t{car.Name} : {car.Combined}"); } } }