Несовместимая база данных SQL CE на Windows Phone - PullRequest
1 голос
/ 03 августа 2011

Я пытаюсь использовать существующую базу данных SQL CE 4 в приложении Windows Phone. Я настроил схему. Создание контекста кажется правильным, используя мою строку подключения "Data Source = 'appdata: /Items.sdf'; mode = 'только для чтения'"

Однако, когда я пытаюсь выполнить запрос к базе данных, я получаю следующую ошибку:

Несовместимая версия базы данных. Если это был совместимый файл, запустите ремонт. Для других случаев обратитесь к документации. [Версия БД = 4000000, Запрошенная версия = 3505053, Имя файла = Items.sdf]

База данных Items.sdf была создана с использованием EntityFramework 4.1 Code First.

Есть идеи, как сделать это совместимым? Должен ли я делать что-то еще?

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Windows Phone использует SQL Compact 3.5, а не 4.0 в качестве своего движка.Вам нужно будет создать файл, совместимый с версией 3.5 (не уверен, что EF может сделать это от руки).

0 голосов
/ 16 ноября 2011

Windows Phone 7 Mango представила SQL CE для Windows Phone как жизнеспособное решение для локальной базы данных. Механизм SQL CE является своего рода гибридом, потому что он исходит из версии 4.0, без каких-либо новых вещей, связанных с веб-сценарием, но бесполезно связанных со сценарием использования смартфона. Версия файла базы данных действительно версия 3.5. «Первый код» - единственная доступная опция Microsoft, но Эрик Эйльсков Дженсен создал очень полезную надстройку Visual Studio с именем SQL Server Compact Toolbox , которая может создавать DataContext со всеми необходимыми классами, а также База данных First находится в свободном доступе.

...