Microsoft Sync Framework, Microsoft Entity Framework 4.1 и SQL CE 4.0 - PullRequest
1 голос
/ 19 сентября 2011

Мы разрабатываем периодически подключаемое приложение, которое использует SQL Compact на клиентских компьютерах и SQL Server 2008 (с отслеживанием изменений) на сервере.Приложение разрабатывается с использованием первой модели кода Entity Framework, которая требует, чтобы локальная база данных SQL Compact была 4.0.Мы хотели бы использовать Microsoft Sync Framework для обработки синхронизации данных с центрального сервера на время от времени подключенных клиентов, но недавно обнаружили, что, хотя SQL Compact 3.5 с пакетом обновления 2 (SP2) совместим с Sync Framework, 4.0 - нет (http://blogs.msdn.com/b/sqlservercompact/archive/2011/01/12/microsoft-sql-server-compact-4-0-is-available-for-download.aspx). Мы хотели использоватьSQL Compact для этого приложения, чтобы использовать SQLCEClientSyncProvider, предоставленный Microsoft, и ему не удалось найти эквивалент SQL Express. Кажется, у нас осталось несколько вариантов:

1) Напишите настраиваемый поставщик синхронизации для использования SQL Express наклиентский конец.Из того, что я видел, это не тривиальная задача, и сжатые сроки делают это довольно рискованным.2) Используйте SQL Compact 3.5 SP2 и преобразуйте код Entity Framework из модели «сначала код» в модель «сначала модель».Я не уверен, что все будет задействовано в этом подходе или сколько потребуется доработок.

И мой вопрос:

Есть ли лучшее решение для совместного использования всех этих технологий, которое мыне рассматриваете?Какой метод будет путь наименьшего сопротивления?Я был удивлен, обнаружив в своем исследовании, что использование Sync Framework с SQL Express на стороне клиента поддерживается не полностью.Является ли совместимость Sync Framework чем-то на горизонте для SQL CE 4.0?

1 Ответ

3 голосов
/ 20 сентября 2011

Существует два типа поставщиков базы данных для Sync Framework: автономный поставщик и поставщик совместной работы / одноранговой связи.

автономные поставщики - это SqlCeClientSyncProvider / DbServerSyncProvider, который используется кэшем локальной базы данныхэлемент проекта в Visual Studio, который поддерживает только SqlCe на клиенте.

поставщики совместной работы SqlCeSyncProvider / SqlSyncProvider поддерживают SqlCe, Sql Express, Sql Server и Sql Azure как на клиенте, так и на сервере.

afaik,в ближайшем будущем не будет поддержки Sql Ce 4.0 и Sync Framework 4.0, только 2.1.MS недавно выпустила Sync Framework Toolkit, основанную на VTP CTP, но больше для расширения поддержки клиентов на платформе не-MS.

сказав, что я предлагаю вам пойти с комбо SqlCeSyncProvider / SqlSyncProvider, поскольку они, вероятно,требуется наименьшее количество настроек.

см .: Учебник. Синхронизация SQL Server и SQL Server Compact

...