Entity Framework Self Tracking Entities - синхронизация между 2 базами данных - PullRequest
1 голос
/ 06 февраля 2012

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

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

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

Есть идеи?

1 Ответ

2 голосов
/ 06 февраля 2012

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

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

...