码迷,mamicode.com
首页 > 其他好文 > 详细

ef中的三种删除方式

时间:2017-12-09 18:05:02      阅读:451      评论:0      收藏:0      [点我收藏+]

标签:obj   max   var   情况   delete   top   net   ext   方式   

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的各种批量操作滴呀;

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

 

ef中的三种删除方式

标签:obj   max   var   情况   delete   top   net   ext   方式   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!