日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

EF?Core的CRUD(增刪改查)基本操作_實(shí)用技巧

作者:農(nóng)碼一生 ? 更新時間: 2022-06-25 編程語言

一、增加(C)

單筆增加

        //添加
        static void Add()
        {
            using (var db = new Entities())
            {
                Student stu1 = new Student
                {
                    Name = "李四",
                    Age = 19,
                    Adress = "合肥",
                    PhoneNumber = "13200000000"
                };

                //把實(shí)體對象附加到上下文
                db.Student.Add(stu1);
                //db.Entry(stu1).State=System.Data.Entity.EntityState.Added;  
                var res = db.SaveChanges();

                if (res > 0)
                {
                    Console.WriteLine("添加數(shù)據(jù)成功!");
                }
            }
        }

批量增加

  //批量處理
        static void AddBatch()
        {
            using (var db = new Entities())
            {
                for (int i = 1; i < 10; i++)
                {
                    var stu1 = new Student
                    {
                        Name = "Rimche" + i,
                        Age = 19 + i,
                        Adress = "合肥",
                        PhoneNumber = "1730000000" + i
                    };
                    db.Student.Add(stu1);
                }

                //可以進(jìn)行其他操作

                db.SaveChanges();

            }
        }

二、查詢

普通查詢

        //查詢
        static void Query()
        {
            using (var db = new Entities())
            {

                //根據(jù)ID進(jìn)行查詢
                var stu1 = db.Student.Find(2);
                var stu11 = db.Student.Where(x => x.Id == 1).FirstOrDefault();
                //根據(jù)年齡查找,多個結(jié)果時,返回第一個
                var stu2 = db.Student.Where(s=>s.Age==18).FirstOrDefault();

                Console.WriteLine(stu1.Name);
                Console.WriteLine(stu2.Name);

                Console.WriteLine("======延遲查詢======");
                //根據(jù)條件,返回IQueryable,說明是延遲查詢
                var query = db.Student.Where(s => s.Id > 3);
                foreach (var item in query)
                {
                    Console.WriteLine(item.Id + "\t" + item.Name);
                }

                //查詢所有
                Console.WriteLine("======查詢所有======");
                var queryall=db.Student.ToList();
                foreach (var item in queryall)
                {
                    Console.WriteLine(item.Id + "\t" + item.Name);
                }

            };
        }

分頁查詢

        //分頁查詢
       static void PagingQuery(int pageIndex,int pageSize)
        {
            using (var db=new Entities())
            {
                //分頁一定要排序
                var query = db.Student.OrderBy(s=>s.Id).Skip((pageIndex -1)*pageSize).Take(pageSize).ToList();
                foreach (var item in query)
                {
                    Console.WriteLine(item.Id + "\t" + item.Name);
                }

            }
        }

三、更新

提供兩種更新方式

        //更新
        static void Update()
        {
            using (var db =new Entities())
            {
                //方式一:官方推薦   只會修改需要修改字段
                Student stu = db.Student.Where(s => s.Id == 1).FirstOrDefault();
                stu.Name = "李時珍";
                db.SaveChanges();


                //方式二:修改所有字段
                Student stu1 = db.Student.Where(s => s.Id == 2).FirstOrDefault();
                stu1.Age = 10;
                db.Entry(stu1).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

            }
        }

四、刪除

提供兩種刪除方式

        static void Delete()
        {
            using (var db = new Entities())
            {
                var stu = db.Student.Find(2);//也可以從數(shù)據(jù)庫查詢到
                //方式一
                //db.Student.Remove(stu);

                //方式二
                db.Entry(stu).State = System.Data.Entity.EntityState.Deleted;

                int result = db.SaveChanges();
                Console.WriteLine(result);

            }
        }

原文鏈接:https://www.cnblogs.com/wml-it/p/15903677.html

欄目分類
最近更新