ef中的三种删除方式

Posted 咕咚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的各种批量操作滴呀;

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

 

以上是关于ef中的三种删除方式的主要内容,如果未能解决你的问题,请参考以下文章

mysql删除表的三种方式

EF的三种数据加载方式

EF Codefirst生成数据库的三种方式

用EF的三种方式(SqlServer数据库和Oracle数据库)

EF的三种模式

Docker 实现挂载的三种方式