В настоящее время я работаю над средой песочницы на основе двух баз данных, расположенных на разных серверах. То, что я намереваюсь сделать, это позволить моим клиентам вносить изменения на тестовом сервере, а затем после их одобрения я могу просто нажать кнопку и импортировать данные в мою текущую базу данных.Обновление первичных ключей с помощью 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, чтобы избежать этой ошибки и заставить базу данных, чтобы обновить это поле ???
Большое спасибо