ef中的三种删除方式

1.第一种现查询对象是否存在:var obj=firstorDefault()=>如果对象存在context.users.Remove(obj);

  根据sql发现;执行两次;第一次SELLECT TOP 1 * FROM USERS ; 第二次delete  xx where;

第二种:自己创建id相同的实体;然后附加;attach,之后,状态为:uncahges,然后再进行remove操作;

   User u=new  User(){Id=3}//id对应数据库中的id

   context.Users.Attach(u);

   context.Users.Remove(u);;

  最后在saveChange()进行操作;

 执行一sql语句;delete * from User where Id=xx

三种:主动,状态标记;

  User u=new User(){id=3} //id对应数据库中的id;

  DbEntityEntry<User> entity=Context.Entry(u);

 entity.State=EntityState.Deleted  //采用状态标记的方式

最后SaveChange();

参考文献:http://blog.csdn.net/itmaxin/article/details/47659817

那么如果是批量删除呢; 还多借用插件;

当然,还是有就是直接写我们的sql拉滴呀;

delete from table where id condition

//跟新的话;

单独字段的更新

整个行的更新;

这个得看我们的实际情况;

ef的各种批量操作滴呀;

效果整体来说还不错滴呀;

原文地址:https://www.cnblogs.com/mc67/p/8011782.html