EF中增删改查

一.先看增加

            HKSJ_USERS user = new HKSJ_USERS();
            user.LoginName = "ssss";
            user.Mail = "ssss";
            user.PassWord = "ssss";
            user.Plane = "ssss";
            user.UserName = "ssss";
            user.cardNo = "ssss";
            user.phone = "ssss";
            //3、 告诉EF咱们对上面的实体做一个插入操作
            dbContext.HKSJ_USERS.Add(user);  
            dbContext.SaveChanges();


            //这一步,也可以用EF标记达到相同的目的 
            dbContext.Entry<HKSJ_USERS>(user).State = EntityState.Added;
            //告诉上下文把实体的变化保存到数据库里面去。
            dbContext.SaveChanges();


二.删除

            HKSJ_USERS user = new HKSJ_USERS();
            user.ID = 1;
            dbContext.Entry<HKSJ_USERS>(user).State = EntityState.Deleted;   //根据主键进行删除
            dbContext.SaveChanges();
             

我们有时候根据Id查询出实体时,就可以直接用remove删除

           var entity=dbContext.Set<T>().Find(id);
           dbContext.Set<T>.Remove(entity);
           dbContext.SaveChanges();


 

三.修改

            HKSJ_USERS user = new HKSJ_USERS();
            user.LoginName = "ssss111--------";
            user.Mail = "ssss";
            user.PassWord = "ssss";
            user.Plane = "ssss";
            user.UserName = "ssss";
            user.cardNo = "ssss";
            user.phone = "ssss";
            user.ID = 8;//修改删除的时候指定id

            //告诉上下文咱们的对此实体进行更新操作。
            dbContext.Entry<HKSJ_USERS>(user).State = System.Data.EntityState.Modified;
  

            //告诉上下文把实体的变化保存到数据库里面去。
            dbContext.SaveChanges();//执行sql脚本的地方。 

      
DbEntityEntry<Models.BlogArticle> entry = db.Entry<Models.BlogArticle>(model);

//**如果使用 Entry 附加 实体对象到数据容器中,则需要手动 设置 实体包装类的对象 的 状态为 Unchanged**
//**如果使用 Attach 就不需要这句
entry.State = System.Data.EntityState.Unchanged;

//0.2标识 实体对象 某些属性 已经被修改了
entry.Property("ATitle").IsModified = true;
entry.ProEperty("AContent").IsModified = true;
 
 

四.查询

          dbContext.HKSJ_USERS.Select(s=>s);  //全部查询           


结论:当进行删除,修改时,用标记更加方便

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值