在上一篇文章中讲解了如何生成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 }
结果:
查看数据库:
数据删除成功。
来源:oschina
链接:https://my.oschina.net/u/4381581/blog/3962341