我目前正在研究基於位於不同服務器上的兩個數據庫的沙箱環境。我打算做的是讓我的客戶在測試服務器上進行更改,然後一旦批准,我可以簡單地點擊按鈕並將數據導入到我的實時數據庫中。使用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避免這種錯誤,並迫使數據庫更新此字段???
非常感謝