private static void FetchSalesOrderHeaderEntitiesIndividually() { Console.WriteLine("Fetching entities individually, LLBLGen Pro v4.1"); var headers = FetchSalesOrderHeaderEntities(); int count = 0; var sw = new Stopwatch(); sw.Start(); foreach(var fetched in headers) { var toFetch = new SalesOrderHeaderEntity(fetched.SalesOrderId); using(var adapter = new DataAccessAdapter()) { adapter.FetchEntity(toFetch); if(toFetch.Fields.State != SD.LLBLGen.Pro.ORMSupportClasses.EntityState.Fetched) { Console.WriteLine("Not fetched. Aborting"); return; } count++; } if(count > 1000) { break; } } sw.Stop(); double average = (double)sw.ElapsedMilliseconds / (double)count; Console.WriteLine("Fetching {0} entities individually through CTor/PK fetch took {1}ms, or {2}ms/entity", count, sw.ElapsedMilliseconds, average); }
private static EntityCollection<SalesOrderHeaderEntity> FetchSalesOrderHeaderEntities() { var frameworkName = CreateFrameworkName("LLBLGen Pro v{0} (v{1})", typeof(DataAccessAdapterBase)); var sw = new Stopwatch(); sw.Start(); var headers = new EntityCollection<SalesOrderHeaderEntity>(); using(var adapter = new DataAccessAdapter()) { adapter.FetchEntityCollection(headers, null); } sw.Stop(); ReportResult(frameworkName, sw.ElapsedMilliseconds, headers.Count); foreach(var e in headers) { if(e.SalesOrderId <= 0) { Console.WriteLine("LLBL41: Data is empty"); break; } } return headers; }
private static void FetchSalesOrderHeaderEntitiesWithCaching() { var frameworkName = CreateFrameworkName("LLBLGen Pro v{0} (v{1}), with resultset caching", typeof(DataAccessAdapterBase)); var sw = new Stopwatch(); sw.Start(); var qf = new QueryFactory(); var q = qf.SalesOrderHeader.CacheResultset(5); var headers = new EntityCollection<SalesOrderHeaderEntity>(); using(var adapter = new DataAccessAdapter()) { adapter.FetchQuery(q, headers); } sw.Stop(); ReportResult(frameworkName, sw.ElapsedMilliseconds, headers.Count); foreach(var e in headers) { if(e.SalesOrderId <= 0) { Console.WriteLine("LLBL41 with cache: Data is empty"); break; } } }