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 }

    结果:

    查看数据库:

    数据删除成功。 

  • 相关阅读:
    jquery 序列化form表单
    nginx for windows 安装
    nodejs idea 创建项目 (一)
    spring 配置 shiro rememberMe
    idea 2018 解决 双击shift 弹出 search everywhere 搜索框的方法
    redis 在windows 集群
    spring IOC控制反转和DI依赖注入
    redis 的安装
    shiro 通过jdbc连接数据库
    handlebars的用法
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/9080637.html
Copyright © 2011-2022 走看看