2009-10-16 3 views
2

Я пытаюсь использовать SQL Server Compact Edition с Entity Framework в Visual Studio 2008 с пакетом обновления 1 (SP1). Вот что я делаю:SQL Server Compact Edition с инфраструктурой Entity

1) Я создаю новый проект типа Console Application.

2) Я щелкнул правой кнопкой мыши по проекту, выберите Add-> New Item.

3) Я выбираю добавить в локальную базу данных под названием Something.sdf

4) На следующей странице мастера "Add New Item", я выбираю имя набора данных по умолчанию (SomethingDataSet)

сейчас , в Server Explorer новая база данных Something.sdf отображается в разделе «Подключения данных». 5) Я снова щелкните правой кнопкой мыши по проекту и выберите Add-> New Item.

6) Я выбираю добавить модель данных ADO.NET Entity с именем по умолчанию, Model1.edmx

7) На следующей странице мастера, я выбираю для создания модели из базы данных.

Теперь он спрашивает меня: «Какое соединение для передачи данных должно использоваться вашим приложением для подключения к базе данных?». В этом диалоге я могу выбирать между использованием предварительно созданного соединения данных или для создания нового соединения.

Выпадающий список с предварительно созданными соединениями данных пуст (я бы ожидал увидеть мой Something.sdf здесь?). Когда я нажимаю «Новое соединение», я могу выбирать только из Microsoft SQL Server, файла базы данных Microsoft SQL Server и - я не могу выбрать Microsoft SQL Server CE. Если я выберу «Другое», отображается источник данных «Поставщик данных .NET Framework для SQL Server», чего я не хочу.

Что мне здесь не хватает? Почему я не могу выбрать свою базу данных SQL Server CE в Мастере создания модели данных объекта?

ответ

4

Не уверен, что это та же проблема, но мне, судя по всему, пришлось загрузить SQL Server Management Studio Express 2008, чтобы получить CE в качестве опции в раскрывающемся списке. Я посмотрю более подробно и даю вам лучший ответ.

Edit:

При просмотре: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config

вы должны найти следующий узел:

<configuration> 
    <system.data> 
     <DbProviderFactories> 
      <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> 

Сообщите мне, если вы не нашли его.

Edit 2:

я бегу VS 2010 бета-1, и процесс вы перечислили позволяет мне выбрать SQL CE. Тем не менее, я выпустил 2008 год и получил тот же результат, что и вы, SQL CE больше не является вариантом для источника данных.

я первый начал свой проект в 2008 году, некоторое время назад, и я должен был установить "Microsoft SQL Server Compact 3.5 SP1 Beta для Entity Framework Beta 3", как указано в следующей ссылке:

http://technet.microsoft.com/en-us/library/cc835494.aspx

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

После обновления до 2010 года я столкнулся с той же проблемой, когда CE не был вариантом, поэтому я попытался переустановить VS 2008 SP1 и, в конце концов, выяснил, что все, что мне нужно было сделать, это добавить узел, о котором я упоминал выше, machine.config в C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.20506 \ Config.

Извините, я не мог больше помочь, но я думаю, что мой SP1 2008 года страдает от той же проблемы, что и ваша.

Редактировать 3: Похоже, что SP1 2008 должен «работать» без необходимости устанавливать «Compact 3.5 SP1 Beta для Entity Framework», но когда я попытался установить Service Pack 1 на 2008 год, я все еще получаю тот же самый симптом. Только мысль влево пытается переустановить некоторые компоненты SQL CE 3.5.

+0

У меня есть узел. : - \ – Nitramk

1

Поддержка времени разработки SQL CE 4.0 CTP1 в VS2010 отсутствует. , поэтому вы не можете использовать SQL CE 4.0 с Entity Framework.

Но может быть создан с использованием нескольких хаков.

Ниже приведена ссылка на учебное пособие по использованию Entity Framework для SQL Ce.

http://getsrirams.blogspot.com/2010/10/adonet-entity-data-model-for-sqlserver.html

1

Если вы ищете способ для создания SQL Server Compact 3.5 соединения и ваши не сможешь найти вариант, просто закройте VS и запустить SSCEVSTools-esn.msi из VS2010 DVD. D: \ Visual Studio 2010 \ WCU \ SSCE

Смежные вопросы