我遇到這種情況,我使用從主數據庫到故障轉移數據庫的SQL Server事務複製。我有一個主站點,我的故障轉移網站正在使用我的故障轉移數據庫。事務複製活動時實體框架模型的問題
這兩個網站(使用實體框架)是相同的(數據庫也是如此)。
我的問題是,如果我的複製處於活動狀態,某些操作會在故障切換網站上崩潰。一旦停用我的複製,操作就會正常進行。
我的猜測是我的故障轉移網站的EntityModel和暴露給複製時的數據庫之間存在一些併發問題。
有沒有人遇到類似的問題?任何有事務複製+實體框架經驗的人?
這裏是例外,我得到:
at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
at System.Data.Objects.ObjectContext.SaveChanges()
at Library.XXXXEntities.Context_SavingChanges(Object sender, EventArgs e)
in C:\SVN\Branches\Prod - 1.68.7\Library\LINQ\Audit.cs:line 38
at System.Data.Objects.ObjectContext.OnSavingChanges()
at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
at System.Data.Objects.ObjectContext.SaveChanges() at Library.Provider.Save()
in C:\SVN\Branches\Prod - 1.68.7\Library\XXXX.Provider.cs:line 57
at XXXX.mnuExportGeneric.RecreatePositionsToBeUnique()
at XXXX.mnuExportGeneric.Export(Int32 programId, DirectoryInfo directoryDestination, Boolean exportInventory, Int32 CurrencyListID, Int32 configurationId, Boolean subFolder)
at XXXX.mnuExport.Export(Int32 ProgramId, String TempExportFolder, String ExportFolder, TreeView treeViewErreurs, Int32 CurrencyListID, Boolean exportInventory, Int32[] configurationsId)
有接縫要與映射出了問題,但只有當事務複製活躍。
更新:我已經走出完全我的應用程序環境在的,只是試圖插入表中的一個新行中我的故障恢復數據庫時的複製「現有」不僅活躍接縫是非法的。 Tomorow我會嘗試將複製完全刪除...或者更加劇烈的更改,如...
謝謝!
爲什麼在故障轉移應用程序上執行更改?這些變化不會反映回主數據庫。你得到什麼類型的異常以及你的實體使用什麼併發檢查? – 2011-04-18 20:56:26
我正在執行故障轉移應用程序上的更改作爲安全措施,以檢查一切正常工作。我正在啓動的操作是標準的「業務」操作。我的實體正在使用默認的併發性檢查(我認爲這是AppendOnly)。 – 2011-04-18 21:11:18