static void RunExample() { using (var context = new EFRecipesEntities()) { Stopwatch watch = new Stopwatch(); watch.Start(); for (int i = 0; i < 5000; i++) { var account = context.CreateObject <Account>(); account.Name = "Test" + i.ToString(); account.Balance = 10M; account.Payments.Add(new Payment { PaidTo = "Test" + (i + 1).ToString(), Paid = 5M }); context.Accounts.AddObject(account); } context.SaveChanges(); watch.Stop(); Console.WriteLine("Time to insert: {0} seconds", watch.Elapsed.TotalSeconds.ToString()); } using (var context = new EFRecipesEntities()) { Stopwatch watch = new Stopwatch(); watch.Start(); var accounts = context.Accounts.Include("Payments").ToList(); watch.Stop(); Console.WriteLine("Time to read: {0} seconds", watch.Elapsed.TotalSeconds.ToString()); watch.Restart(); foreach (var account in accounts) { account.Balance += 10M; account.Payments.First().Paid += 1M; } context.SaveChanges(); watch.Stop(); Console.WriteLine("Time to update: {0} seconds", watch.Elapsed.TotalSeconds.ToString()); } Console.WriteLine("Press <enter> to continue..."); Console.ReadLine(); }