我目前正在研究基于位于不同服务器上的两个数据库的沙箱环境。我打算做的是让我的客户在测试服务器上进行更改,然后一旦批准,我可以简单地点击按钮并将数据导入到我的实时数据库中。使用LINQ更新主键
到目前为止,我已经设法将数据移植到两个数据库中,但是我想要做的是修改测试服务器上的主键以匹配在活动中保留的主键(因为我需要备份,所以我可以进行检查以停止多次复制相同的信息)。
到目前为止,我已经尝试此解决方案:
DT_SitePage OldPage = new DT_SitePage
{
PageID = SP.PageID
};
DT_SitePage NewPage = new DT_SitePage
{
PageID = int.Parse(ViewState["PrimaryKey"].ToString())
};
Sandbox.DT_SitePages.Attach(NewPage, OldPage);
Sandbox.SubmitChanges();
不过,我不断收到错误:
***Value of member 'PageID' of an object of type 'DT_SitePage' changed.
A member defining the identity of the object cannot be changed.
Consider adding a new object with new identity and deleting the existing one instead.***
反正在LINQ避免这种错误,并迫使数据库更新此字段???
非常感谢