SQL Server Compact Edition avec Entity Framework

c# entity-framework sql sql-server-ce

Question

J'essaie d'utiliser SQL Server Compact Edition avec Entity Framework dans Visual Studio 2008 SP1. Voici ce que je fais:

1) Je crée un nouveau projet, de type Console Application.

2) Je clique avec le bouton droit sur le projet, sélectionnez Ajouter-> Nouvel élément.

3) J'ai choisi d'ajouter une base de données locale appelée Something.sdf

4) Dans la page suivante de l'assistant "Ajouter un nouvel élément", je choisis le nom du jeu de données par défaut (SomethingDataSet).

Désormais, dans l'explorateur de serveurs, la nouvelle base de données Something.sdf est affichée sous Connexions de données. 5) Je fais à nouveau un clic droit sur le projet et sélectionnez Ajouter-> Nouvel élément.

6) Je choisis d'ajouter un modèle de données d'entité ADO.NET avec le nom par défaut, Model1.edmx.

7) Dans la page suivante de l'assistant, j'ai choisi de générer un modèle à partir d'une base de données.

Maintenant, il me demande "Quelle connexion de données votre application doit-elle utiliser pour se connecter à la base de données?". Dans cette boîte de dialogue, je peux choisir d'utiliser une connexion de données pré-créée ou de créer une nouvelle connexion.

La liste déroulante avec les connexions de données pré-créées est vide (je me serais attendu à voir mon Something.sdf ici?). Lorsque j'appuie sur Nouvelle connexion, je ne peux choisir qu'entre Microsoft SQL Server, le fichier de base de données Microsoft SQL Server et - je ne peux pas choisir Microsoft SQL Server CE. Si je choisis Autre, la source de données "Fournisseur de données .NET Framework pour SQL Server" s'affiche, ce qui n'est pas ce que je veux.

Qu'est-ce que j'oublie ici? Pourquoi ne puis-je pas sélectionner ma base de données SQL Server CE dans l'Assistant Ajouter un modèle de données d'entité?

Réponse acceptée

Pas sûr que ce soit le même problème, mais je pense avoir dû télécharger SQL Server Management Studio Express 2008 pour obtenir CE comme une option dans la liste déroulante. J'examinerai cependant davantage et vous donnerai une meilleure réponse.

Modifier:

Si vous naviguez jusqu'à: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config

vous devriez trouver le noeud suivant:

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

Faites-moi savoir si vous ne le trouvez pas.

Edit 2:

J'utilisais VS 2010 beta 1 et le processus que vous avez décrit me permet de sélectionner SQL CE. Cependant, j'ai lancé 2008 et obtenu le même résultat que vous, SQL CE n'est plus une option pour une source de données.

J'ai commencé mon projet en 2008 il y a quelque temps et je devais installer "Bêta 3 pour Microsoft SQL Server Compact 3.5 SP1 pour Entity Framework Bêta 3", comme indiqué dans le lien suivant:

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

Cependant, le téléchargement ne semble plus être disponible. Je ne pouvais le trouver nulle part et le lien fourni dans l'article était brisé.

Après la mise à niveau vers 2010, j'ai rencontré le même problème, CE n'étant pas une option, j'ai donc essayé de réinstaller VS 2008 SP1 et j'ai finalement découvert que tout ce que j'avais à faire était d'ajouter le nœud que j'ai mentionné ci-dessus au fichier machine.config. dans C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.20506 \ Config.

Désolé, je n'aurais pas pu être plus utile, mais je suppose que mon SP1 de 2008 souffre du même problème que le vôtre.

Edit 3: Il semble que 2008 SP1 devrait "fonctionner" sans qu'il soit nécessaire d'installer "un bêta compact 3.5 SP1 pour Entity Framework", mais lorsque j'ai essayé d'installer le Service Pack 1 pour 2008, le même symptôme se présentait. Il ne reste plus qu’à tenter de réinstaller certains composants de SQL CE 3.5.


Réponse populaire

Si vous recherchez le moyen de créer une connexion Sql Server Compact 3.5 et que vous ne trouvez pas l’option, fermez simplement votre VS et exécutez SSCEVSTools-esn.msi à partir du dvd vs2010. D: \ Visual Studio 2010 \ WCU \ SSCE



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow