EF使用DBFirst模式实现增删改查

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

EF使用DBFirst模式实现增删改查

.NET开发菜鸟   2022-05-28 我要评论

上一篇文章中讲解了如何生成EF的DBFirst模式,接下来讲解如何使用DBFirst模式实现数据库数据的增删改查

一、新增数据

新增一个Student,代码如下:

static void Add()
{
     using (StudentSystemEntities dbContext = new StudentSystemEntities())
      {
          // 定义Student对象
          Student stu = new Student()
          {
               StudentName = "花千骨",
               Sex = "女",
               Age = 3422,
               Major = "舞蹈专业",
               Email = "2345678911@qq.com"
           };
           // 将EF执行的SQL语句输出到控制台
           dbContext.Database.Log += p => Console.WriteLine(p);
           // 只是内存上面的操作
           dbContext.Students.Add(stu);
           // 保存的数据库
           dbContext.SaveChanges();
           Console.WriteLine("保存成功");
      }
}

在Main()方法里面调用Add()方法,结果:

查看数据库结果:

从上面的两个截图中可以看出数据新增成功。

二、查询数据

查询StudentName是唐僧的学生信息并输出:

static void Query()
{
       using (StudentSystemEntities dbContext = new StudentSystemEntities())
       {
            List<Student> list = dbContext.Students.Where(p => p.StudentName == "唐僧").ToList<Student>();
            list.ForEach(p =>
            {
                    Console.WriteLine("姓名:"+p.StudentName+",年龄:"+p.Age+",专业:"+p.Major+",邮箱:"+p.Email);
             });
        }
}

在Main()方法里面调用Query(),结果:

三、修改数据

修改StudentName为花千骨的学生年龄:

static void Edit()
{
     using (StudentSystemEntities dbContext = new StudentSystemEntities())
     {
          // 将EF执行的SQL语句输出到控制台
          dbContext.Database.Log += p => Console.WriteLine(p);
          // 查询要修改的数据,FirstOrDefault表示查询到的第一条数据
          Student student = dbContext.Students.Where(p => p.StudentName == "花千骨").FirstOrDefault();
          // 保存修改
          student.Age = 234;
          dbContext.SaveChanges();
          Console.WriteLine("修改成功");
      }
}

结果:

查看数据库数据:

四、删除数据

删除新添加的数据:

static void Delete()
{
      using (StudentSystemEntities dbContext = new StudentSystemEntities())
      {
           // 将EF执行的SQL语句输出到控制台
           dbContext.Database.Log += p => Console.WriteLine(p);
           // 先查询然后在删除
           Student stu = new Student()
           {
                 StudentID=18
           };
            // 附加到集合中
            dbContext.Students.Attach(stu);
            // 删除的SQL语句是根据stu的StudentID生成的
            dbContext.Students.Remove(stu);
            // 保存
            dbContext.SaveChanges();
            Console.WriteLine("删除成功");
       }
}

结果:

查看数据库:

数据删除成功。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们