Entity Framework Self Tracking Entities - синхронизация между 2 базами данных

Я использую Self Tracking Entities с Entity Framework 4. У меня есть 2 базы данных с точно такой же схемой. Однако таблицы в одной базе данных будут добавлены / отредактированы и т. Д. (Я имею в виду, что данные будут добавлены / отредактированы, а не фактические определения таблиц), и в определенные моменты дня мне нужно будет синхронизировать все изменения между этой базой данных и другая база данных.

Я могу создать отдельный контекст для них обоих. Но если я читаю большой график из одной базы данных, как я могу обновить другую базу данных с графиком? Есть ли простой способ?

Моя модель базы данных большая, сложная и полностью реляционная. Таким образом, было бы большой задачей пройти каждую отдельную сущность и выполнить чтение из другой базы данных, чтобы увидеть, существует она или нет, обновить / вставить ее, если это необходимо, и затем выполнить это через полный граф объектов!

Есть идеи?

1 ответ

Это не сценарий использования EF. В EF вам придется делать именно то, что вы описали. Самообследуемые сущности могут отслеживать изменения в этих экземплярах объектов - они ничего не знают об изменениях, внесенных в их собственную базу данных с течением времени, и они также ничего не будут знать о состоянии вашей второй базы данных.

Попробуйте взглянуть на собственные функции сервера SQL (включая зеркалирование, доставку журналов транзакций или службы SSIS) и среду MS Sync. В зависимости от ваших подробных требований эти инструменты могут подойти вам лучше.

Другие вопросы по тегам