Entity Framework使用DataBase First模式实现数据库的增删改查

 更新时间:2022年03月08日 16:34:11   作者:.NET开发菜鸟  
本文详细讲解了Entity Framework使用DataBase First模式实现数据库的增删改查,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

上一篇文章中讲解了如何生成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("删除成功");
       }
}

结果:

查看数据库:

数据删除成功。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • ASP.NET预备知识学习笔记

    ASP.NET预备知识学习笔记

    这篇文章主要介绍了ASP.NET预备知识,内容很全面,几乎涵盖了asp.net预备知识点,感兴趣的小朋友可以看一看。
    2015-09-09
  • ASP.NET页面传递值的方式介绍

    ASP.NET页面传递值的方式介绍

    面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值、存储对象传值、ajax、类、model、表单等。但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer。
    2012-12-12
  • .Net语言Smobiler开发之如何仿微信朋友圈的消息样式

    .Net语言Smobiler开发之如何仿微信朋友圈的消息样式

    这篇文章主要介绍了.Net语言Smobiler开发平台如何仿微信朋友圈的消息样式?本文为大家揭晓答案
    2016-09-09
  • WPF中在摄像头视频上叠加控件的解决方案

    WPF中在摄像头视频上叠加控件的解决方案

    前段时间,在一个wpf的项目中需要实时显示ip摄像头,对此的解决方案想必大家都应该知道很多。今天小编给大家带来了WPF中在摄像头视频上叠加控件的解决方案,一起看看吧
    2017-04-04
  • 创建一个ASP.NET MVC5项目的实现方法(图文)

    创建一个ASP.NET MVC5项目的实现方法(图文)

    这篇文章主要介绍了创建一个ASP.NET MVC 5项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Visual Studio 2017通过SSH调试Linux上.NET Core

    Visual Studio 2017通过SSH调试Linux上.NET Core

    这篇文章主要为大家详细介绍了Visual Studio 2017通过SSH调试Linux 上.NET Core的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • .NET c# 单体模式(Singleton)

    .NET c# 单体模式(Singleton)

    .NET c# 单体模式(Singleton)...
    2007-12-12
  • ASP.NET用户注册实战(第11节)

    ASP.NET用户注册实战(第11节)

    这篇文章主要介绍了ASP.NET用户注册实战,巩固前10小节所学的全部知识,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-08-08
  • .Net获取IP地址的方法

    .Net获取IP地址的方法

    这篇文章主要介绍了.Net获取IP地址的方法,本文给大家介绍的非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • C#使用Unity实现IOC

    C#使用Unity实现IOC

    本文详细讲解了C#使用Unity实现IOC的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论