欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

EF Core的CRUD(增删改查)基本操作

时间:2022-10-13 14:17:23|栏目:.NET代码|点击:

一、增加(C)

单笔增加

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

                //把实体对象附加到上下文
                db.Student.Add(stu1);
                //db.Entry(stu1).State=System.Data.Entity.EntityState.Added;  
                var res = db.SaveChanges();

                if (res > 0)
                {
                    Console.WriteLine("添加数据成功!");
                }
            }
        }

批量增加

  //批量处理
        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);
                }

                //可以进行其他操作

                db.SaveChanges();

            }
        }

二、查询

普通查询

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

                //根据ID进行查询
                var stu1 = db.Student.Find(2);
                var stu11 = db.Student.Where(x => x.Id == 1).FirstOrDefault();
                //根据年龄查找,多个结果时,返回第一个
                var stu2 = db.Student.Where(s=>s.Age==18).FirstOrDefault();

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

                Console.WriteLine("======延迟查询======");
                //根据条件,返回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);//也可以从数据库查询到
                //方式一
                //db.Student.Remove(stu);

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

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

            }
        }

上一篇:C#跨平台开发之使用C/C++生成的动态链接库

栏    目:.NET代码

下一篇:没有了

本文标题:EF Core的CRUD(增删改查)基本操作

本文地址:http://www.codeinn.net/misctech/216280.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有