增成功后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删除