none
LINQ中怎么清除datacontext.GetChangeSet().Inserts里面的内容? RRS feed

  • 问题

  • 在LINQ中,如果对数据库进行了任何修改,将暂时保存在datacontext.GetChangeSet().Inserts,Updates , Deletes.三个集合中,等到调用SubmitChanges()才做物理更新,但是出现异常的时候,我需要把这三个集合里面的内容全部清空,然后重新修改数据再提交,请问要怎么清空?Refresh()似乎不行!
    2009年3月8日 7:24

答案

  • 看了你这个需求,其实可以直接销毁DataContext对象,再重新建立一个就可以了。。反正保留DataContext对象为了跟踪状态的,你想放弃全部跟踪的直接销毁DataContext对象,最简单 。。嘿嘿。
    2009年3月9日 2:07

全部回复

  • 看了你这个需求,其实可以直接销毁DataContext对象,再重新建立一个就可以了。。反正保留DataContext对象为了跟踪状态的,你想放弃全部跟踪的直接销毁DataContext对象,最简单 。。嘿嘿。
    2009年3月9日 2:07
  • imhm2 说:

    看了你这个需求,其实可以直接销毁DataContext对象,再重新建立一个就可以了。。反正保留DataContext对象为了跟踪状态的,你想放弃全部跟踪的直接销毁DataContext对象,最简单 。。嘿嘿。

    现在的做法是在catch模块里面注销datacontext,然后新建一个,供程序继续使用。这个方法可行,但是我感觉应该还有更好的方法
    2009年3月9日 13:26