首页 > 其他 > 详细

EF之增删改查

时间:2014-03-11 15:31:19      阅读:444      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
增成功后EF容器里面的实体不会被销毁
//
1.0 创建实体 BlogUser usrModel = new BlogUser() { LoginName = "xiaobai1", LoginPwd = "4297F44B13955235245B2497399D7A93", CnName = "小白", Email = "xiaobai@oumind.com", IsDel = false, IsLock = 0, AddTime = DateTime.Now, LastLoginIP = "127.0.0.1", LastLoginTime = DateTime.Now }; //2.0 调用EF容器,向指定的 属性中(表) 添加实体对象 db.BlogUsers.Add(usrModel); //3.0 调用EF容器的 SaveChanges方法,将容器里的对象 保存到数据库,并返回受影响行数! int resCount = db.SaveChanges(); //4.0 新增后,主键属性Id,会被赋值(新增后的id) MessageBox.Show(usrModel.Id.ToString());
bubuko.com,布布扣

 

bubuko.com,布布扣
 1 批量添加
 2 //1.0 创建实体1
 3             BlogUser usrModel = new BlogUser()
 4             {
 5                 LoginName = "xiaobai2",
 6                 LoginPwd = "4297F44B13955235245B2497399D7A93",
 7                 CnName = "小白2",
 8                 Email = "xiaobai2@oumind.com",
 9                 IsDel = false,
10                 IsLock = 0,
11                 AddTime = DateTime.Now,
12                 LastLoginIP = "127.0.0.1",
13                 LastLoginTime = DateTime.Now
14             };
15 
16             //1.0 创建实体2
17             BlogUser usrModel2 = new BlogUser()
18             {
19                 LoginName = "xiaobai3",
20                 LoginPwd = "4297F44B13955235245B2497399D7A93",
21                 CnName = "小白3",
22                 Email = "xiaobai3@oumind.com",
23                 IsDel = false,
24                 IsLock = 0,
25                 AddTime = DateTime.Now,
26                 LastLoginIP = "127.0.0.1",
27                 LastLoginTime = DateTime.Now
28             };
29 
30             db.BlogUsers.Add(usrModel);
31             db.BlogUsers.Add(usrModel2);
32             int resCount = db.SaveChanges();
33             MessageBox.Show("受影响行数:" + resCount);
bubuko.com,布布扣

 

bubuko.com,布布扣
 1 #region 5.0 Ef 删除 的3中方式
 2         private void btnDel_Click(object sender, EventArgs e)
 3         {
 4             //1.0 EF 推荐删除方式 - 先查,再删
 5             ////1.1 先根据id查询 出 要删除的 对象(存入EF容器)
 6             //BlogUser usr = db.BlogUsers.Where(u => u.Id == 45).FirstOrDefault();
 7             ////1.2 将实体对象删除(就是将 容器中的 代理对象的 State改成 Deleted)
 8             //db.BlogUsers.Remove(usr);
 9             ////1.3 将EF容器里所有的对象 根据 State 属性值,生成不同sql语句,更新到数据库
10             //db.SaveChanges();
11 
12             //2.0 使用 Attach + Remove Id = 2051
13             //BlogUser usr = new BlogUser() { Id = 2051 };//会根据指定主键删除(也只能根据指定id删除)
14             ////2.1 将对象 附加到 EF容器中
15             //db.BlogUsers.Attach(usr);//State=Unchanged
16             //db.BlogUsers.Remove(usr);//State=Deleted
17             //db.SaveChanges();
18 
19             //3.0 手动 设置删除
20             BlogUser usr = new BlogUser() { Id = 2052 };
21             //3.1将对象加入 EF容器,并返回 代理对象里的跟踪器
22             DbEntityEntry entry = db.Entry(usr);//State=unchanged
23             //3.2将代理对象的状态 改成 删除状态
24             entry.State = EntityState.Deleted;
25             //3.3保存
26             db.SaveChanges();
27         } 
28         #endregion
EF删除

 

bubuko.com,布布扣
1      //1.0 先按照条件查询
2             var list = db.BlogUsers.Where(u => u.IsDel == true).ToList();
3             //2.0 遍历集合,将 要删除的 对象 的代理对象的State 设置为 Deleted
4             list.ForEach(u => db.BlogUsers.Remove(u));
5             //3.0 执行更新
6             int resCount = db.SaveChanges();
7             //4.0 获取受影响行数
8             MessageBox.Show("删除行数:" + resCount);   
根据条件删除

EF之增删改查,布布扣,bubuko.com

EF之增删改查

原文:http://www.cnblogs.com/huanglexian/p/3593100.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!