zoukankan      html  css  js  c++  java
  • Entity Framework应用:使用EF的DataBase First模式实现数据库的增删改查

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

    一、新增数据

    新增一个Student,代码如下:

     1 static void Add()
     2 {
     3      using (StudentSystemEntities dbContext = new StudentSystemEntities())
     4       {
     5           // 定义Student对象
     6           Student stu = new Student()
     7           {
     8                StudentName = "花千骨",
     9                Sex = "",
    10                Age = 3422,
    11                Major = "舞蹈专业",
    12                Email = "2345678911@qq.com"
    13            };
    14            // 将EF执行的SQL语句输出到控制台
    15            dbContext.Database.Log += p => Console.WriteLine(p);
    16            // 只是内存上面的操作
    17            dbContext.Students.Add(stu);
    18            // 保存的数据库
    19            dbContext.SaveChanges();
    20            Console.WriteLine("保存成功");
    21       }                       
    22 }

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

    查看数据库结果:

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

    二、查询数据

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

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

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

    三、修改数据

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

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

    结果:

    查看数据库数据:

    四、删除数据

    删除新添加的数据:

     1 static void Delete()
     2 {
     3       using (StudentSystemEntities dbContext = new StudentSystemEntities())
     4       {
     5            // 将EF执行的SQL语句输出到控制台
     6            dbContext.Database.Log += p => Console.WriteLine(p);
     7            // 先查询然后在删除
     8            Student stu = new Student()
     9            {
    10                  StudentID=18
    11            };
    12             // 附加到集合中
    13             dbContext.Students.Attach(stu);
    14             // 删除的SQL语句是根据stu的StudentID生成的
    15             dbContext.Students.Remove(stu);
    16             // 保存
    17             dbContext.SaveChanges();
    18             Console.WriteLine("删除成功");
    19        }
    20 }

    结果:

    查看数据库:

    数据删除成功。 

  • 相关阅读:
    一致性哈希算法
    Discourse 的标签(Tag)只能是小写的原因
    JIRA 链接 bitbucket 提示错误 Invalid OAuth credentials
    JIRA 如何连接到云平台的 bitbucket
    Apache Druid 能够支持即席查询
    如何在 Discourse 中配置使用 GitHub 登录和创建用户
    Apache Druid 是什么
    Xshell 如何导入 PuTTYgen 生成的 key
    windows下配置Nginx支持php
    laravel连接数据库提示mysql_connect() :Connection refused...
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/9080637.html
Copyright © 2011-2022 走看看