示例#1
0
        private static void AddRecords()
        {
            Console.WriteLine(nameof(AddRecords));
            try
            {
                using (var context = new MenusContext())
                {
                    var    soupCard = new MenuCard();
                    Menu[] soups    =
                    {
                        new Menu
                        {
                            Text     = "Consommé Célestine (with shredded pancake)",
                            Price    = 4.8m,
                            MenuCard = soupCard
                        },
                        new Menu
                        {
                            Text     = "Baked Potato Soup",
                            Price    = 4.8m,
                            MenuCard = soupCard
                        },
                        new Menu
                        {
                            Text     = "Cheddar Broccoli Soup",
                            Price    = 4.8m,
                            MenuCard = soupCard
                        },
                    };

                    soupCard.Title = "Soups";
                    //soups会插入到Menus表
                    soupCard.Menus.AddRange(soups);
                    //soupCard插入到MenuCards表
                    context.MenuCards.Add(soupCard);

                    ShowState(context);

                    int records = context.SaveChanges();
                    Console.WriteLine($"{records} added");
                    Console.WriteLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.WriteLine();
        }
示例#2
0
        static void UpdateUntracked(Menu m)
        {
            using (var context = new MenusContext())
            {
                ShowState(context);
                //显示的关联对象到上下文
                //EntityEntry<Menu> entry = context.Menus.Attach(m);
                //设置对象状态是Modified
                //entry.State = EntityState.Modified;

                //使用Update方法可以完成关联到上下文并设置对象状态为Modified
                context.Menus.Update(m);
                ShowState(context);
                context.SaveChanges();
            }
        }
示例#3
0
 private static void UpdateRecords()
 {
     Console.WriteLine(nameof(UpdateRecords));
     using (var context = new MenusContext())
     {
         Menu menu = context.Menus
                     .Skip(1)
                     .FirstOrDefault();
         ShowState(context); //Unchanged
         menu.Price += 0.2m;
         ShowState(context); //Modified
         int records = context.SaveChanges();
         Console.WriteLine($"{records} updated");
         ShowState(context); //Unchanded
     }
     Console.WriteLine();
 }
示例#4
0
 static void AddHundredRecords()
 {
     Console.WriteLine(nameof(AddHundredRecords));
     using (var context = new MenusContext())
     {
         var card = context.MenuCards.FirstOrDefault();
         if (card != null)
         {
             var menus = Enumerable.Range(1, 100).Select(x => new Menu
             {
                 MenuCard = card,
                 Text     = $"$menu {x}",
                 Price    = 9.9m
             });
             //这是一个批处理,一次性插入100条数据
             context.Menus.AddRange(menus);
             Stopwatch stopwatch = Stopwatch.StartNew();
             int       record    = context.SaveChanges();
             stopwatch.Stop();
             Console.WriteLine($"{record} records added after ${stopwatch.ElapsedMilliseconds} ms");
         }
     }
 }