首页 新闻 会员 周边

EF中的这两种删除方式有什么不同

0
悬赏园豆:5 [已解决问题] 解决于 2014-11-24 10:07
求解,还有一个attch()这个方法的删除,这三种有什么区别,哪个更好一些
问题补充:

db.Customer.Remove(customer);
//删除标记
db.Entry<Customer>(customer).State = System.Data.EntityState.Deleted;//删除标记

慕容枫的主页 慕容枫 | 初学一级 | 园豆:110
提问于:2014-11-21 16:51
< >
分享
最佳答案
0

两种方式效果一样,只是推荐第二种方式的删除,因为第二种方式删除只需要设置customer的主键属性就可以删除,而第二种方式需要一个完整customer实体才能进行删除操作,第二种方式效率更高!接分。

示例:

//linq to sql方式
var t = (from u in context.T_Test
 where u.Id == 1
 select u).FirstOrDefault();
 context.T_Test.Remove(t);
 context.SaveChanges();
//数据的删除用这种方式更方便,效率更高
T_Test t = new T_Test() { Id=2 };
context.Entry<T_Test>(t).State=EntityState.Deleted;
context.SaveChanges();

收获园豆:5
Sunnier | 菜鸟二级 |园豆:215 | 2014-11-22 12:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册