EF增删查改加执行存储过程和sql语句,多种方法汇总
生活随笔
收集整理的這篇文章主要介紹了
EF增删查改加执行存储过程和sql语句,多种方法汇总
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 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語句和執行存儲過程差不多。只有刪除比較特殊!
轉載于:https://www.cnblogs.com/RainbowInTheSky/p/4483130.html
總結
以上是生活随笔為你收集整理的EF增删查改加执行存储过程和sql语句,多种方法汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [书籍分享]0-003.你的灯亮着吗:发
- 下一篇: tmeminifile and tini