Я вижу, что этому вопросу уже много лет, но та же самая проблема только что произошла со мной, поэтому я хотел бы передать это:
Я использую Visual C # 2010 Express и не смог добавить локальную базу данных (database1.sdf), хотя раньше это работало.
Это на Windows 7, за последние несколько месяцев я сделал множество резервных копий системных образов.
Я искал во многих обращениях Google сообщение об ошибке и не нашел ни одного, который работал. Я следовал инструкциям, размещенным на этой странице, но они тоже не работали.
Я работал над этим время от времени.
Наконец, мне напомнили, что база данных .sdf - это база данных SQL CE .... Я открыл новый проект и сразу же перешел к «Данные», «Добавить новый источник данных», а затем щелкал по экранам, пока не получил «Выбрать». Ваше подключение для передачи данных ", которое было пустым.
Я нажал «Новое подключение», а затем кнопку «Изменить» и заметил, что «Microsoft SQL Server Compact 3.5» не было в списке.
Из проведенных мной поисков в Google я вспомнил, что Compact 3.5 должен был быть включен в обычную установку C # Express.
Затем я перешел к своим сохраненным системным образам и восстановил образ этого компьютера с марта этого года. (до того, как я впервые установил C # Express)
Я удалил все элементы панели управления, программы и компоненты, которые выглядели так, как будто они были связаны с серверами или базами данных, и переустановил Visual C # 2010 Express.
Теперь Compact 3.5 снова в выборе источников данных, и базы данных .sdf присоединяются нормально.
Справка, о файле в Express говорит, что это Microsoft Visual Studio 2010, версия 10.0.30319.1 RTMRel, но ничего не говорит о SP1.
Если это SP1, он не отображается ... но .sdf работает отлично!
Совет всем, у кого возникла такая же проблема: сохраните важные данные, затем удалите все и переустановите.
Последнее окно во время установки C # сообщит, успешно ли оно установлено. Мой сделал на этот раз, но более ранние попытки имели ошибки.
Но это работает сейчас ...