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 }
结果:
查看数据库:
数据删除成功。