SQL Server Compact Edition with Entity Framework

13,196

Solution 1

Not sure if this is the same problem, but I think had to download SQL Server Management Studio Express 2008 to get CE as an option in the dropdown. I'll look more into it though and give you a better response.

Edit:

If you browse to: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config

you should find the following node:

<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"/>

Let me know if you do not find it.

Edit 2:

I've been running VS 2010 beta 1, and the process you listed allows me to select SQL CE. However, I fired up 2008 and get the same result as you, SQL CE is no longer an option for a datasource.

I first started my project in 2008 a while back, and I had to install "Microsoft SQL Server Compact 3.5 SP1 Beta for Entity Framework Beta 3", as noted in the following link:

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

However, the download does not seem to be available any longer. I couldn't find it anywhere and the link they provide in the article is broken.

After upgrading to 2010 I ran into the same problem with CE not being an option, so I tried re-installing VS 2008 SP1, and eventually found out that all I had to do was add the node that I mentioned above to the machine.config in C:\WINDOWS\Microsoft.NET\Framework\v4.0.20506\Config.

Sorry I couldn't have been more help, but I guess my 2008 SP1 is suffering from the same problem yours is.

Edit 3: It appears 2008 SP1 should 'just work' with no need to install an "Compact 3.5 SP1 Beta for Entity Framework" but when I tried installing Service Pack 1 for 2008 I am still getting the same symptom. Only thought left is trying to re-install some SQL CE 3.5 components.

Solution 2

There is no design time support for SQL CE 4.0 CTP1 in VS2010. so you can not use SQL CE 4.0 with Entity Framework.

But can be created using few hacks.

Below is a link to Tutorial for using Entity Framework for SQL Ce.

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

Solution 3

If you are searching the way to create an Sql Server Compact 3.5 connection and your can´t find the option, just close your VS and running the SSCEVSTools-esn.msi from the vs2010 dvd. D:\Visual Studio 2010\WCU\SSCE

Share:
13,196
Nitramk
Author by

Nitramk

Updated on June 14, 2022

Comments

  • Nitramk
    Nitramk almost 2 years

    I try to use SQL Server Compact Edition with Entity Framework in Visual Studio 2008 SP1. Here's what I do:

    1) I create a new project, of type Console Application.

    2) I right-click on the project, select Add->New Item.

    3) I choose to add a Local Database called Something.sdf

    4) In the next page of the "Add New Item" wizard, I choose the default dataset name (SomethingDataSet)

    Now, in the Server Explorer, the new database Something.sdf is shown under Data Connections. 5) I right click on the project again, and select Add->New Item.

    6) I choose to add a ADO.NET Entity Data Model with the default name, Model1.edmx

    7) In the next page of the wizard, I choose to generate model from database.

    Now it asks me "Which data connection should your application use to connect to the database?". In this dialog, I can choose between using a pre-created Data connection, or to create a new connection.

    The drop down with pre-created data connections is empty (I would have expected to see my Something.sdf here?). When I press New Connection, I can only choose among Microsoft SQL Server, Microsoft SQL Server Database File, and - I can't choose Microsoft SQL Server CE. If i choose Other, the data source ".NET Framework Data Provider for SQL Server" is shown, which is not what I want.

    What am I missing here? Why can't I select my SQL Server CE database in the Add Entity Data Model Wizard?