Иногда подключаемое приложение - проблема с SQL Compact + EntityFramework + SyncFramework

В настоящее время я изучаю различные возможности для нового приложения, которое попадает в категорию «периодически подключаемых». После некоторого исследования я «решил» выбрать центральный SQLServer и клиентов с базой данных SqlCompact, которые будут синхронизироваться при необходимости / возможности.

«Соединив» все воедино, я получил следующее исключение.

[A]System.Data.SqlServerCe.SqlCeConnection cannot be cast to 
[B]System.Data.SqlServerCe.SqlCeConnection. 
Type A originates from 'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' in the context 'Default' 
at location 'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\4.0.0.0__89845dcd8080cc91\System.Data.SqlServerCe.dll'. 
Type B originates from 'System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' in the context 'Default' 
at location 'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll'.

Дальнейшее чтение помогло мне понять, что Sync Framework не поддерживает SqlServerCe v4.0, что делает его несовместимым с EntityFramework.

Теперь мне интересно, правильная ли дорога, на которую я собираюсь пойти. Приветствуются любые альтернативные решения или обходные пути.

Дополнительная информация, которая может быть уместной:

  • Количество клиентов ~ 100
  • Количество клиентов, которым будет разрешена двусторонняя синхронизация (центральный сервер обновлений) ~ 10
  • База данных довольно мала (20 МБ), ожидается незначительный рост.

person Benoittr    schedule 09.10.2013    source источник


Ответы (1)


вы действительно можете заставить его работать с SQL CE 4, хотя он не поддерживается.

см. РАМКА СИНХРОНИЗАЦИИ И SQL COMPACT 4 (ДА, ВЫ МОЖЕТЕ!)

person JuneT    schedule 10.10.2013
comment
Я наткнулся на эту ссылку, но потом у меня было другое исключение при создании соединения (точное исключение я опубликую завтра). Но мне все еще интересно, выдержит ли эта комбинация фреймворка испытание временем ... - person Benoittr; 10.10.2013
comment
он не поддерживается, и мы не знаем, что они изменят в SQL CE дальше. но никогда не было проблем с обходным путем. Если для вас еще не поздно, вы можете рассмотреть возможность использования SQL Express или LocalDB на стороне клиента или даже SQLite с помощью Sync Fx Toolkit. - person JuneT; 10.10.2013