增成功后EF容器里面的实体不会被销毁,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());

 

 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);

 

 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删除

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-21
  • 2022-02-07
猜你喜欢
  • 2022-12-23
  • 2021-11-27
  • 2021-10-31
  • 2021-11-08
  • 2022-02-10
相关资源
相似解决方案