本文介绍了如何拒绝对SQL的DataContext的Linq中的所有更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在SQL的DataContext的Linq上,我可以调用SubmitChanges()提交所有更改.

On Linq to SQL's DataContext I am able to call SubmitChanges() to submit all changes.

我想要以某种方式拒绝数据上下文中的所有更改并回滚所有更改(最好不访问数据库).

What I want is to somehow reject all changes in the datacontext and rollback all changes (preferable without going to the database).

这可能吗?

推荐答案

在.net 3.0中,将db.GetChangeSet().Updates.Clear()用于更新,将db.GetChangeSet().Inserts.Clear()用于新项,将db.GetChangeSet().Deletes.Clear()用于已删除项.

In .net 3.0 use the db.GetChangeSet().Updates.Clear() for updated, db.GetChangeSet().Inserts.Clear() for new or db.GetChangeSet().Deletes.Clear() for deleted items.

在.net 3.5及更高版本中,GetChangeSet()的结果现在为只读,在for或foreach中循环集合,并刷新每个ChangeSet表,就像macias在其评论中所写.

In .net 3.5 and above the result of GetChangeSet() is now readonly, loop the collection in for or foreach and refresh every ChangeSet table like also macias wrote in his comment.

这篇关于如何拒绝对SQL的DataContext的Linq中的所有更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 16:00