Проблемы с Entity Framework Model при активной репликации транзакций - PullRequest
2 голосов
/ 19 апреля 2011

У меня есть ситуация, когда я использую репликацию транзакций сервера SQL из моей основной базы данных в свою базу данных отработки отказа. У меня есть основной сайт, и мой отказоустойчивый веб-сайт использует мою базу данных аварийного переключения.

Оба веб-сайта (используют структуру сущностей) идентичны (как и базы данных, мы надеемся).

Моя проблема в том, что некоторые операции завершаются сбоем на моем веб-сайте аварийного переключения, если моя репликация активна. После отключения репликации операция проходит нормально.

Я предполагаю, что существует некоторая проблема параллелизма между 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) 

Появляется проблема с отображением, но только при активной репликации транзакций.

Обновление : Я полностью вышел из среды своего приложения и просто пытаюсь вставить новую строку в таблицу в моей базе данных отработки отказа, когда репликация «существует», а не только активные швы, чтобы быть недопустимой , Завтра попробую с полностью удаленной репликацией ... или более радикальными изменениями вроде этого ...

Спасибо!

1 Ответ

1 голос
/ 27 апреля 2011

Вероятно, это не проблема EF, а скорее проблема с настройкой репликации.

SQL Server допускает репликации, когда изменения могут быть внесены на любом узле, но для этого требуется корпоративная версия, см .: http://technet.microsoft.com/en-us/library/ms151196.aspx

Возможно, вы пытаетесь обновить реплику только для чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...