我正在开发一个动态数据应用程序,我正在尝试在更新请求期间执行插入RequestRevision(记录请求更改,这样的事情)
public partial class ProjectDataContext
{
partial void UpdateRequest(Request instance)
{
RequestRevision rv = new RequestRevision(Requests.GetOriginalEntityState(instance));
this.ExecuteDynamicInsert(rv);
this.ExecuteDynamicUpdate(instance);
}
}
此代码错误“无法对实体执行操作,因为它未被跟踪更改。”
我添加了更改跟踪代码
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);
}
}
现在我收到错误“从查询返回结果后,无法修改数据上下文选项。”
答案 0 :(得分:0)
我使用sql触发器实现了这一点。在请求表上执行更新ID时会触发。