首页 新闻 赞助 找找看

linq to sql 中更新和删除的问题

0
悬赏园豆:10 [已解决问题] 解决于 2009-07-17 14:45

linq to sql 中的更新和删除都是把一个实体读出来之后在进行相应的操作的,这样是不是显得很笨拙呢,看了一些解决这方法问题的文章,但是为什么自己实验都不成功呢。哪位能给解释一下linq to sql中的更新和删除到底应改怎么做呢?

MicroCoder的主页 MicroCoder | 小虾三级 | 园豆:554
提问于:2009-04-02 12:14
< >
分享
最佳答案
0

楼主可以下面的文章,作者自己加上了Detach方法让对象脱离DataContext的跟踪, 从而实现一个方法:Update, 参数是Model对象模型.一个对象Detach后, 我们即可调用自己的业务逻辑或数据访问层对象, 进行更新操作. 而不是每次都必须依赖DataContext. 如果依赖DataContext, 那么业务逻辑和职责就没办法拆分. 如果已经有了一个信息完整的实体对象, 在不调用Detach方法时会常常遇到无法Attach的问题. 每次更新都要先Select, 那显然是笨重的也是影响效率的. http://www.cnblogs.com/zhangziqiu/archive/2009/02/18/LINQ-Design-2.html

不过DataContext是轻量级的,这么做复杂了点

生鱼片 | 大侠五级 |园豆:5757 | 2009-04-02 15:48
其他回答(4)
0
HaiJun.H | 园豆:205 (菜鸟二级) | 2009-04-02 12:41
0

http://www.cnblogs.com/gewanbo2008

Boooo1234 | 园豆:205 (菜鸟二级) | 2009-04-02 13:48
0

貌似LINQ中批量删除和更新时实际都是一条一条处理的。

建议使用SP替代频繁的批量操作以提高效率。

我就是这样处理的,而且在用户机制中类似这样的大规模操作其实关不常见,一般的三五条一起的操作还是使用LINQ来做,提高开发效率。

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-04-02 14:29
0

如果你是通过主键来进删除的,我有个好办法。

例如:

 

var user = new User{ID = 10};
db.Users.Attach(user);
db.Users.Delete(user);
db.SubmitChnages();
                        
麦舒 | 园豆:452 (菜鸟二级) | 2009-04-16 11:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册