Иногда подключаемое приложение - проблема 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 МБ) с небольшим ожидаемым ростом.
1 ответ
Вы можете заставить его работать с SQL CE 4, хотя он и не поддерживается.