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 }
复制代码

 

结果:

查看数据库:

数据删除成功。 

posted @ 2019-07-08 17:52  大锅锅  阅读(592)  评论(0编辑  收藏  举报