private static void CategoryTest() { using (var db = new TestModel()) { var pc = new ProductCategory(); //var categories = db.ProductCategory.Where(p => p.parent); } }
private static void JoinTest() { List<MeanTime> meantimes = new List<MeanTime>(); var watch = new Stopwatch(); watch.Start(); meantimes.Add(new MeanTime("Start.", watch.ElapsedMilliseconds)); using (var db = new TestModel()) { meantimes.Add(new MeanTime("Created DB object.", watch.ElapsedMilliseconds)); IQueryable temp = db.Person.Where(p => p.FirstName != "erik"); meantimes.Add(new MeanTime("Build dummy query", watch.ElapsedMilliseconds)); var q1 = from p in db.Person where p.FirstName.ToLower() == "erik" join e in db.EmailAddress on p.BusinessEntityID equals e.BusinessEntityID select new { p, e }; //var q1 = // from p in db.Person // from e in db.EmailAddress // where p.FirstName.ToLower() == "erik" // where p.BusinessEntityID == e.BusinessEntityID // select new { p, e }; meantimes.Add(new MeanTime("Build first query (method syntax).", watch.ElapsedMilliseconds)); var list = q1.ToList(); meantimes.Add(new MeanTime("q1.ToList().", watch.ElapsedMilliseconds)); foreach (var item in list) { Console.WriteLine(item); //Console.WriteLine($"{item.p.FirstName}, {item.e.EmailAddress1}"); } } meantimes.Add(new MeanTime("Despose db object.", watch.ElapsedMilliseconds)); watch.Stop(); PrintTimmer(meantimes); Console.WriteLine($"Tid: {watch.ElapsedMilliseconds}"); }
private static void ExecuteTest() { List<MeanTime> meantimes = new List<MeanTime>(); var watch = new Stopwatch(); watch.Start(); meantimes.Add(new MeanTime("Start.", watch.ElapsedMilliseconds)); using (var db = new TestModel()) { meantimes.Add(new MeanTime("Created DB object.", watch.ElapsedMilliseconds)); IQueryable temp = db.Person.Where(p => p.FirstName != "erik"); meantimes.Add(new MeanTime("Build dummy query", watch.ElapsedMilliseconds)); IEnumerable<Person> q1 = db.Person .Where(p => p.FirstName.Length > 1) .Where(p => p.LastName.Length > 1) .Where(p => p.FirstName.ToLower() == "erik"); meantimes.Add(new MeanTime("Build first query (method syntax).", watch.ElapsedMilliseconds)); // Same behavior as "IEnumerable<Person> q1 = [query]" //IQueryable<Person> q2 = db.Person // .Where(p => p.FirstName.Length > 1) // .Where(p => p.LastName.Length > 1) // .Where(p => p.FirstName.ToLower() == "erik"); //meantimes.Add(new MeanTime("Build first query (method syntax).", watch.ElapsedMilliseconds)); var count = q1.Count(); meantimes.Add(new MeanTime("q1.Count().", watch.ElapsedMilliseconds)); var list = q1.ToList(); meantimes.Add(new MeanTime("q1.ToList().", watch.ElapsedMilliseconds)); } meantimes.Add(new MeanTime("Despose db object.", watch.ElapsedMilliseconds)); watch.Stop(); PrintTimmer(meantimes); Console.WriteLine($"Tid: {watch.ElapsedMilliseconds}"); }
private static void TimeTrialFirst() { List<Person> somePeopleQ1; List<Person> somePeopleQ2; List<MeanTime> meantimes = new List<MeanTime>(); var watch = new Stopwatch(); watch.Start(); meantimes.Add(new MeanTime("Start.", watch.ElapsedMilliseconds)); using (var db = new TestModel()) { meantimes.Add(new MeanTime("Created DB object.", watch.ElapsedMilliseconds)); db.Database.Log = Console.Write; // Loggs queries to standard stream (?). meantimes.Add(new MeanTime("Initialize query log.", watch.ElapsedMilliseconds)); IQueryable temp = db.Person.Where(p => p.FirstName != "erik"); meantimes.Add(new MeanTime("Build dummy query", watch.ElapsedMilliseconds)); Console.WriteLine("------ Create Query Q1 ------"); var q1 = QueryMethodSyntax(db); meantimes.Add(new MeanTime("Build first query (method syntax).", watch.ElapsedMilliseconds)); Console.WriteLine("------ Create Query Q2 ------"); var q2 = QueryQuerySyntax(db); meantimes.Add(new MeanTime("Build second query (query syntax).", watch.ElapsedMilliseconds)); Console.WriteLine("------ Execute Q1 ------"); somePeopleQ1 = q1.ToList(); meantimes.Add(new MeanTime("Execute first query (method syntax).", watch.ElapsedMilliseconds)); Console.WriteLine("------ Execute Q2 ------"); somePeopleQ2 = q2.ToList(); meantimes.Add(new MeanTime("Execute second query (query syntax).", watch.ElapsedMilliseconds)); Console.WriteLine("------"); } meantimes.Add(new MeanTime("Despose db object.", watch.ElapsedMilliseconds)); watch.Stop(); PrintTimmer(meantimes); Console.WriteLine($"Tid: {watch.ElapsedMilliseconds}"); Console.WriteLine("Q1: {0}", somePeopleQ1.Count); Console.WriteLine("Q2: {0}", somePeopleQ2.Count); }
private static IQueryable<Person> QueryQuerySyntax(TestModel db) { // Query syntax. return from p2 in db.Person where p2.FirstName.Length > 1 where p2.LastName.Length > 1 where p2.FirstName.ToLower() == "erik" select p2; }
private static IQueryable<Person> QueryMethodSyntax(TestModel db) { // Method syntax. return db.Person .Where(p => p.FirstName.Length > 1) .Where(p => p.LastName.Length > 1) .Where(p => p.FirstName.ToLower() == "erik"); }