你的位置:首页 > ASP.net教程

[ASP.net教程]Entity FrameWork 增删查改的本质


之前的文章里面已经说了,EF的增删查改。那时候的修改,删除,只能是先查询出来要修改的数据,再修改,删除。。。现在来一个改进版的,增删查改。

1.Add

 1   static void Add() 2     { 3       //1.创建student对象,并使用对象初始化器,初始化这个对象 4       Studnet stu = new Studnet() 5       { 6         s_Name = "古巨基", 7         s_Sex = "男", 8         s_Age = 39, 9         c_ID = 2,10 11       };12 13       //2。将对象加入到EF,并获取当前实体的状态管理对象14        DbEntityEntry entry= db.Entry<Studnet>(stu);15       //3.设置对象的状态为Added(entry.State)16        entry.State = System.Data.EntityState.Added;17       //4.保存到数据库18        db.SaveChanges();19 20       //测试代码21       Console.WriteLine("新增成功");22     }

ADD

 

2.Modify

 1  /// <summary> 2     /// 自己动手写修改(优化的修改方式,创建对象直接修改) 3     /// </summary> 4     static void Edit() 5     { 6  7       //1.查询出一个要修改的对象 8       Studnet stu = new Studnet() 9       {10         //1.查询出一个要修改的数据11         //数据库中有s_ID为12的数据,这句话的意思是,把s_ID=12的记录的12         //名字改为“小白!!!”,性别改为“女”,年龄改为“23”13         s_ID = 12,14         s_Name = "小白!!!",15         s_Sex = "女",16         s_Age = 23,17       };18 19       //2,把对象加入到EF容器,并获取当前实体对象的状态管理对象20       DbEntityEntry entry=db.Entry<Studnet>(stu);21       //3.设置该对象未被修改过,Unchanged.22       entry.State = System.Data.EntityState.Unchanged;23       //4.设置修改过的属性24       entry.Property("s_Name").IsModified = true;25       entry.Property("s_Sex").IsModified = true;26       entry.Property("s_Age").IsModified = true;27 28       //5.保存数据库29        db.SaveChanges();30 31       //---测试32       Console.WriteLine("修改成功");33     34     }

Modify

 

3Delete

 1 /// <summary> 2     /// 删除 3     /// </summary> 4     static void Delete() 5     { 6       7       //1创建需要删除的对象,这里只是测试,删除Id=15的数据 8       Studnet stu = new Studnet() { s_ID = 15}; 9      10       //2将对象加入到EF容器,并获取当前对象的状态管理对象11       DbEntityEntry<Studnet> entry= db.Entry<Studnet>(stu);12       13 14       //3.把对象的状态改为Deleted15       entry.State = System.Data.EntityState.Deleted;16 17       //4把数据保存到数据库18       db.SaveChanges();19       //测试用-----------------------20       Console.WriteLine("删除成功");21     }

Delete