Пример #1
0
        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();
            }
        }
Пример #2
0
        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}");
                }
            }
        }