本文详细讲解了Entity?Framework使用DataBase?First模式实现数据库的增删改查,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
在上一篇文章中,我解释了如何生成EF的DBFirst模式,然后我解释了如何使用DBFirst模式来添加、删除和检查数据库数据。
一、新增数据
使用以下代码添加一名新学生:
static void Add(){ using (StudentSystemEntities dbContext = new StudentSystemEntities()) { // 定义Student对象 Student stu = new Student() { StudentName = "花千骨", Sex = "女", Age = 3422, Major = "舞蹈专业", Email = "2345678911@qq.com" }; // 将EF执行的SQL语句输出到控制台 dbContext.Database.Log += p =gt; Console.WriteLine(p); // 只是内存上面的操作 dbContext.Students.Add(stu); // 保存的数据库 dbContext.SaveChanges(); Console.WriteLine("保存成功"); }}
调用Main()方法中的Add()方法,结果是:
查看数据库结果:
从上面两张截图可以看出,数据已经添加成功。
二、查询数据
查询StudentName是唐僧的学生信息并输出:
static void Query(){ using (StudentSystemEntities dbContext = new StudentSystemEntities()) { Listlt;Studentgt; list = dbContext.Students.Where(p =gt; p.StudentName == "唐僧").ToListlt;Studentgt;(); list.ForEach(p =gt; { Console.WriteLine("姓名:"+p.StudentName+",年龄:"+p.Age+",专业:"+p.Major+",邮箱:"+p.Email); }); }}
在Main()方法中调用Query(),结果是:
三、修改数据
将学生姓名改为华学生的年龄:
static void Edit(){ using (StudentSystemEntities dbContext = new StudentSystemEntities()) { // 将EF执行的SQL语句输出到控制台 dbContext.Database.Log += p =gt; Console.WriteLine(p); // 查询要修改的数据,FirstOrDefault表示查询到的第一条数据 Student student = dbContext.Students.Where(p =gt; p.StudentName == "花千骨").FirstOrDefault(); // 保存修改 student.Age = 234; dbContext.SaveChanges(); Console.WriteLine("修改成功"); }}
结果:
查看数据库数据:
四、删除数据
删除新添加的数据:
static void Delete(){ using (StudentSystemEntities dbContext = new StudentSystemEntities()) { // 将EF执行的SQL语句输出到控制台 dbContext.Database.Log += p =gt; Console.WriteLine(p); // 先查询然后在删除 Student stu = new Student() { StudentID=18 }; // 附加到集合中 dbContext.Students.Attach(stu); // 删除的SQL语句是根据stu的StudentID生成的 dbContext.Students.Remove(stu); // 保存 dbContext.SaveChanges(); Console.WriteLine("删除成功"); }}
结果:
查看数据库:
数据删除成功。
这就是本文的全部内容。希望对大家的学习有帮助
精彩评论