Sql server 插入动态更新-linq到sql
我正在开发一个动态数据应用程序,在其中我尝试在更新请求期间执行insert RequestRevision(记录请求的更改,诸如此类的事情) 此代码错误“无法对实体执行该操作,因为未对其进行更改跟踪。” 当我为变更跟踪添加代码时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
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);
}
}