Exemple #1
0
 public static void RunForEachAsyncExample()
 {
     using (var context = new AssociateEntities())
     {
         context.Associates.Include(x => x.AssociateSalaries).ForEachAsync(m =>
         {
             Console.WriteLine("Here are the salaries for Associate {0}:", m.Name);
             foreach (var salary in m.AssociateSalaries)
             {
                 Console.WriteLine("\t{0}", salary.Salary);
             }
         });
     }
 }
        private static async Task LoadData()
        {
            using (var context = new AssociateEntities())
            {
                // 添加测试数据
                Console.WriteLine("Adding Test Data");
                Console.WriteLine("=========\n");

                var assoc1 = new Associate {
                    Name = "Janis Roberts"
                };
                var assoc2 = new Associate {
                    Name = "Kevin Hodges"
                };
                var assoc3 = new Associate {
                    Name = "Bill Jordan"
                };

                var salary1 = new AssociateSalary
                {
                    Salary     = 39500M,
                    SalaryDate = DateTime.Parse("8/4/14")
                };
                var salary2 = new AssociateSalary
                {
                    Salary     = 41900M,
                    SalaryDate = DateTime.Parse("2/5/15")
                };
                var salary3 = new AssociateSalary
                {
                    Salary     = 33500M,
                    SalaryDate = DateTime.Parse("10/08/13")
                };

                assoc1.AssociateSalaries.Add(salary1);
                assoc2.AssociateSalaries.Add(salary2);
                assoc3.AssociateSalaries.Add(salary3);

                context.Associates.Add(assoc1);
                context.Associates.Add(assoc2);
                context.Associates.Add(assoc3);

                //异步保存
                await context.SaveChangesAsync();

                await Task.Delay(5000);
            }
        }
        private static async Task CleanUp()
        {
            using (var context = new AssociateEntities())
            {
                //清除原始数据
                //异步执行原始SQL语句
                Console.WriteLine("Cleaning Up Previous Test Data");
                Console.WriteLine("=========\n");

                await context.Database.ExecuteSqlCommandAsync("delete from Chapter3.AssociateSalary");

                await context.Database.ExecuteSqlCommandAsync("delete from Chapter3.Associate");

                await Task.Delay(5000);
            }
        }
Exemple #4
0
 public static void RunToListAsyncExample()
 {
     using (var context = new AssociateEntities())
     {
         //借助ToListAsyn方法
         var associates = context.Associates.Include(x => x.AssociateSalaries).OrderBy(x => x.Name).ToList();
         foreach (var associate in associates)
         {
             Console.WriteLine("Here are the salaries for Associate {0}:", associate.Name);
             foreach (var salaryInfo in associate.AssociateSalaries)
             {
                 Console.WriteLine("\t{0}", salaryInfo.Salary);
             }
         }
     }
 }
        private static async Task RunSingleOrDefaultAsyncExample()
        {
            using (var context = new AssociateEntities())
            {
                Console.WriteLine("\n\nAsync SingleOrDefault Call");
                Console.WriteLine("=========");

                var associate = await context.Associates.Include(x => x.AssociateSalaries)
                                .OrderBy(x => x.Name)
                                .FirstOrDefaultAsync(y => y.Name == "Kevin Hodges");

                Console.WriteLine("Here are the salaries for Associate {0}:", associate.Name);
                foreach (var salaryInfo in associate.AssociateSalaries)
                {
                    Console.WriteLine("\t{0}", salaryInfo.Salary);
                }

                await Task.Delay(5000);
            }
        }
        private static async Task RunForEachAsyncExample()
        {
            using (var context = new AssociateEntities())
            {
                Console.WriteLine("\n\nAsync ForEach Call");
                Console.WriteLine("=========");

                //借助 ForEachAsync 方法
                await context.Associates.Include(x => x.AssociateSalaries).ForEachAsync(x =>
                {
                    Console.WriteLine("Here are the salaries for Associate {0}:", x.Name);
                    foreach (var salary in x.AssociateSalaries)
                    {
                        Console.WriteLine("\t{0}", salary.Salary);
                    }
                });

                await Task.Delay(5000);
            }
        }
        private static async Task RunToListAsyncExample()
        {
            using (var context = new AssociateEntities())
            {
                Console.WriteLine("\n\nAsync ToList Call");
                Console.WriteLine("=========");

                //借助ToListAsyn方法
                var associates = await context.Associates.Include(x => x.AssociateSalaries).OrderBy(x => x.Name)
                                 .ToListAsync();

                foreach (var associate in associates)
                {
                    Console.WriteLine("Here are the salaries for Associate {0}:", associate.Name);
                    foreach (var salaryInfo in associate.AssociateSalaries)
                    {
                        Console.WriteLine("\t{0}", salaryInfo.Salary);
                    }
                }

                await Task.Delay(5000);
            }
        }