当前位置:Gxlcms > 数据库问题 > EF增删查改加执行存储过程和sql语句,多种方法汇总

EF增删查改加执行存储过程和sql语句,多种方法汇总

时间:2021-07-01 10:21:17 帮助过:3人阅读

ActionUrl c = new ActionUrl() { ActionName="test", RequestUrl="/123/123", SubTime=DateTime.Now }; 2 // 3 using (EntityContext db = new EntityContext()) 4 { 5 6 /*方法1*/ 7 db.ActionUrls.Add(c); 8 db.SaveChanges(); 9 /*方法2*/ 10 db.Set<ActionUrl>().Attach(c); 11 db.Entry<ActionUrl>(c).State = EntityState.Added; 12 db.SaveChanges(); 13 //return c; 14 /*方法3*/ 15 //EF4.0的写法 16 //db.CreateObjectSet<T>().AddObject(entity); 17 18 } 19 // 20 using (EntityContext db = new EntityContext()) 21 { 22 c = db.ActionUrls.Where(t => t.ActionName == "test").FirstOrDefault(); 23 } 24 // 25 using (EntityContext db = new EntityContext()) 26 { 27 /*方法1*/ 28 c.ActionName = "test001"; 29 db.ActionUrls.Attach(c); 30 db.Entry<ActionUrl>(c).State = EntityState.Modified; 31 db.SaveChanges(); 32 /*方法2*/ 33 c.ActionName = "test002"; 34 db.SaveChanges(); 35 //return db.SaveChanges() > 0; 36 /*方法3*/ 37 //EF4.0的写法 38 //db.CreateObjectSet<T>().Addach(entity); 39 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); 40 } 41 // 42 using (EntityContext db = new EntityContext()) 43 { 44 /*方法1*/ 45 //此处删除的对象不能是自己定义出来的对象,只能是数据库查询出来的对象 46 c = db.ActionUrls.Where(t => t.ActionName == "test").FirstOrDefault(); 47 db.ActionUrls.Remove(c); 48 db.SaveChanges(); 49 /*方法2*/ 50 //c = db.ActionUrls.Where(t => t.ActionName == "test").FirstOrDefault(); 51 db.Set<ActionUrl>().Attach(c); 52 db.Entry<ActionUrl>(c).State = EntityState.Deleted; 53 db.SaveChanges(); 54 //return db.SaveChanges() > 0; 55 /*方法3*/ 56 //EF4.0的写法 57 //db.CreateObjectSet<T>().Addach(entity); 58 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted); 59 } 60 61 //存储过程和sql语句 62 EntityContext dbsql = new EntityContext(); 63 SqlParameter[] parameters = new SqlParameter[]{ 64 new SqlParameter("@name",SqlDbType.NVarChar) 65 }; 66 parameters[0].Value = "test"; 67 68 //执行strSql/procSql 69 //返回受影响的行数 70 int i = dbsql.Database.ExecuteSqlCommand("exec getActionUrlId @name", parameters); 71 72 List<ActionUrl> dd01 = dbsql.Database.SqlQuery(typeof(ActionUrl), "exec getActionUrlId @name", parameters).Cast<ActionUrl>().ToList(); 73 //执行strSql/procSql 74 //返回数据的集合 75 List<ActionUrl> dd02 = dbsql.Database.SqlQuery<ActionUrl>("exec getActionUrlId @name", parameters).ToList();//返回查询到的实体集合

 大致的增删查改和存储过程,执行sql语句和执行存储过程差不多。只有删除比较特殊!

EF增删查改加执行存储过程和sql语句,多种方法汇总

标签:

人气教程排行