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

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

Add

 

 1 #region 1.0 新增+void Add() 2     /// <summary> 3     /// 新增 4     /// </summary> 5     static void Add() 6     { 7       //1.创建实体对象,使用对象初始化器,初始化对象 8       Studnet stu = new Studnet() 9       {10         //给字段名赋值11         s_Name = "刘德华",12         s_Sex = "男",13         s_Age = 23,14         c_ID = 1,15 16       };17 18       //2.创建EF数据上下文对象,通过EF,新增到数据库。19       DB_USERSEntities db = new DB_USERSEntities();20 21       22       //3将对象stu加入到数据上下文的Student集合中23       db.Studnet.Add(stu);24 25       //4.调用数据上下文的保存方法,将对象保存到数据库26       db.SaveChanges();27 28       //------测试代码--------------29       Console.WriteLine("新增成功");30 31     } 32     #endregion

Add
 
Modify

 

 修改很智能的,在生成SQl语句的时候,只是生成你修改过的某个列的字段的SQL语句,这个可以通过SQLServer工具栏里面的SQL Server profiler工具侦听到。

 1 #region 2.0 修改(先查询再修改) 2     /// <summary> 3     /// 修改--(对于修改,官方标准的修改是先查询出要修改的数据,然后进行修改) 4     /// </summary> 5     static void Modify() 6     { 7       //创建数据上下文对象 8       DB_USERSEntities db = new DB_USERSEntities(); 9 10       //FirstOrDefault返回结果的第一个元素11       Studnet stu = db.Studnet.Where(s => s.s_ID == 10).FirstOrDefault();12 13       Console.WriteLine(string.Format("修改前的信息是{0} :", stu.ToString()));14 15       //修改数据16       stu.s_Name = "张惠妹";17 18       //重新保存到数据库19       db.SaveChanges();20 21       //------测试代码--------------------------------//22       Console.WriteLine("修改成功");23       Console.WriteLine(string.Format("修改后的信息是{0} :", stu.ToString()));24     }25     26     #endregion

Modify
 
Query

 

//这里会查询到的结果是对象,就是类似于,system.什么什么。这是因为ToString()方法是Object对象的方法,这里我们需要来对Student对象,重写一个Tostring方法。
//因为T4模板,会在每次保存的时候,自动覆盖之前的修改,重新生成。所以需要为student写一个部分类,在部分类里面重写Tostring()方法

 1 #region 3.0 简单查询 2     /// <summary> 3     /// 查询 4     /// </summary> 5     static void Query() 6     { 7       //创建数据上下文对象 8       DB_USERSEntities db = new DB_USERSEntities(); 9 10       //查询11       List<Studnet> stu= db.Studnet.Where(s => s.s_Name == "刘德华").ToList();12 13       //------测试代码----------------------------------------//14       //遍历查询到的数据15       stu.ForEach(s => Console.WriteLine(s.ToString()));16     } 17     #endregion

Query
 
Delete

 

 

 //删除按理说也是和修改一样,需要先查出来要删除的数据,然后删除,但这里不这么做

 1 #region 4.0 删除 2     /// <summary> 3     /// 删除 4     /// </summary> 5     static void Delete() 6     { 7       DB_USERSEntities db = new DB_USERSEntities(); 8  9       //测试删除指定的数据(创建要删除的对象)10       Studnet stu = new Studnet() { s_ID=8};11       //附加到EF中12       db.Studnet.Attach(stu);13       //标记为删除14       db.Studnet.Remove(stu);15       //执行删除16       db.SaveChanges();17 18       //--------测试代码---------------//19       Console.WriteLine("删除成功");20       21     } 22     #endregion

Delete