我有一种情况,我使用 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)
映射似乎存在问题,但仅当事务复制处于活动状态时。
更新:我已经完全脱离了我的应用程序环境,当复制“存在”时,我只是尝试在我的故障转移数据库的表中插入一个新行,而不仅仅是活动接缝是非法的。明天我将尝试完全删除复制......或更剧烈的变化......
谢谢!