Sql server 插入动态更新-linq到sql

Sql server 插入动态更新-linq到sql,sql-server,linq-to-sql,dynamic-data,Sql Server,Linq To Sql,Dynamic Data,我正在开发一个动态数据应用程序,在其中我尝试在更新请求期间执行insert RequestRevision(记录请求的更改,诸如此类的事情) 此代码错误“无法对实体执行该操作,因为未对其进行更改跟踪。” 当我为变更跟踪添加代码时 public partial class ProjectStatusDataContext { partial void UpdateRequest(Request instance) { bool t

我正在开发一个动态数据应用程序,在其中我尝试在更新请求期间执行insert RequestRevision(记录请求的更改,诸如此类的事情)

此代码错误“无法对实体执行该操作,因为未对其进行更改跟踪。”

当我为变更跟踪添加代码时

public partial class ProjectStatusDataContext  
    {
        partial void UpdateRequest(Request instance)
        {
            bool tracking = ObjectTrackingEnabled;
            ObjectTrackingEnabled = true;
            RequestRevision rv = new RequestRevision(Requests.GetOriginalEntityState(instance));
            //instance.RequestRevisions.Add(rv); --not working 
            this.ExecuteDynamicInsert(rv);
            //this.RequestRevisions.InsertOnSubmit(rv); -- not working
            ObjectTrackingEnabled = tracking;
            this.ExecuteDynamicUpdate(instance);
        }
    }

现在我得到了一个错误:“在查询返回结果后,无法修改数据上下文选项。”

我使用sql触发器实现了这一点。在请求表上执行更新id时触发

public partial class ProjectStatusDataContext  
    {
        partial void UpdateRequest(Request instance)
        {
            bool tracking = ObjectTrackingEnabled;
            ObjectTrackingEnabled = true;
            RequestRevision rv = new RequestRevision(Requests.GetOriginalEntityState(instance));
            //instance.RequestRevisions.Add(rv); --not working 
            this.ExecuteDynamicInsert(rv);
            //this.RequestRevisions.InsertOnSubmit(rv); -- not working
            ObjectTrackingEnabled = tracking;
            this.ExecuteDynamicUpdate(instance);
        }
    }