如何从DataContext的跟踪机制中分离LINQ-to-SQL数据对象?

sma*_*man 9 c# linq datacontext linq-to-sql

在询问了这个问题后,我被告知该Table<T>.Attach()方法是如何工作的,我还有另外一个问题.

如何从DataContext状态跟踪机制中分离LINQ-to-SQL数据对象?基本上,我想拉一条记录并更改记录上的数据.但是,当我调用SubmitChanges()同一个DataContext实例时,除非我明确调用,否则我不希望更新记录Attach().这是如何完成的?

sha*_*tin 9

我强烈建议您如果要使用LINQ to SQL,则应更改设计以适应LINQ to SQL在所有附加修改实体上提交更改的行为.根据我的经验,尝试解决此功能只会导致痛苦.

  • +1,因为一般来说这是一个很好的建议(而不仅仅是LINQ to SQL).但是,这实际上并没有回答这个问题. (6认同)

use*_*806 7

从此站点解释如何分离linq对象将此方法添加到要分离的对象:

public void Detach()
{
    GetType().GetMethod("Initialize", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(this, null);
}
Run Code Online (Sandbox Code Playgroud)