SQL Server Compact Edition mit Entity Framework

c# entity-framework sql sql-server-ce

Frage

Ich versuche, SQL Server Compact Edition mit Entity Framework in Visual Studio 2008 SP1 zu verwenden. Folgendes mache ich:

1) Ich erstelle ein neues Projekt vom Typ Console Application.

2) Ich klicke mit der rechten Maustaste auf das Projekt und wähle Hinzufügen -> Neues Element.

3) Ich füge eine lokale Datenbank mit dem Namen Something.sdf hinzu

4) Auf der nächsten Seite des Assistenten "Neues Element hinzufügen" wähle ich den Standard-Dataset-Namen (SomethingDataSet).

Jetzt wird im Server-Explorer unter Datenverbindungen die neue Datenbank Something.sdf angezeigt. 5) Ich klicke erneut mit der rechten Maustaste auf das Projekt und wähle Hinzufügen -> Neues Element.

6) Ich möchte ein ADO.NET Entity Data Model mit dem Standardnamen Model1.edmx hinzufügen

7) Auf der nächsten Seite des Assistenten wähle ich aus der Datenbank ein Modell.

Jetzt fragt es mich "Welche Datenverbindung sollte Ihre Anwendung verwenden, um eine Verbindung zur Datenbank herzustellen?". In diesem Dialogfeld kann ich wählen, ob Sie eine zuvor erstellte Datenverbindung verwenden oder eine neue Verbindung erstellen möchten.

Das Dropdown mit vorgefertigten Datenverbindungen ist leer (ich hätte erwartet, dass hier meine Something.sdf angezeigt wird?). Wenn ich auf Neue Verbindung drücke, kann ich nur zwischen Microsoft SQL Server, Microsoft SQL Server-Datenbankdatei und - Ich kann Microsoft SQL Server CE nicht auswählen. Wenn ich "Andere" auswähle, wird die Datenquelle ".NET Framework-Datenanbieter für SQL Server" angezeigt. Dies ist nicht das, was ich möchte.

Was fehlt mir hier? Warum kann ich meine SQL Server CE-Datenbank nicht im Assistenten zum Hinzufügen von Entitätsdatenmodellen auswählen?

Akzeptierte Antwort

Nicht sicher, ob dies dasselbe Problem ist, aber ich denke, ich musste SQL Server Management Studio Express 2008 herunterladen, um CE als Option in der Dropdownliste zu erhalten. Ich werde mich jedoch näher damit befassen und Ihnen eine bessere Antwort geben.

Bearbeiten:

Wenn Sie zu C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config wechseln

Sie sollten den folgenden Knoten finden:

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

Lass es mich wissen, wenn du es nicht findest.

Edit 2:

Ich habe VS 2010 Beta 1 ausgeführt und der von Ihnen aufgelistete Prozess ermöglicht mir die Auswahl von SQL CE. Ich habe jedoch 2008 das System aktiviert und erhalte das gleiche Ergebnis wie Sie. SQL CE ist für eine Datenquelle keine Option mehr.

Ich habe mein Projekt vor einiger Zeit zum ersten Mal im Jahr 2008 gestartet und musste "Microsoft SQL Server Compact 3.5 SP1 für Entity Framework Beta 3" installieren, wie im folgenden Link angegeben:

http://technet.microsoft.com/de-de/library/cc835494.aspx

Der Download scheint jedoch nicht mehr verfügbar zu sein. Ich konnte es nirgendwo finden und der Link, den sie im Artikel angeben, ist defekt.

Nach einem Upgrade auf 2010 stieß ich auf das gleiche Problem, da CE keine Option war. Also versuchte ich, VS 2008 SP1 erneut zu installieren, und fand schließlich heraus, dass ich lediglich den oben genannten Knoten zur machine.config hinzufügen musste in C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.20506 \ Config.

Tut mir leid, ich hätte nicht mehr helfen können, aber ich denke, mein 2008 SP1 hat das gleiche Problem wie Sie.

Edit 3: Es scheint, dass 2008 SP1 "nur funktionieren" sollte, ohne dass "Compact 3.5 SP1 Beta für Entity Framework" installiert werden muss. Wenn ich jedoch versuche, Service Pack 1 für 2008 zu installieren, erhalte ich immer noch das gleiche Symptom. Es bleibt nur der Gedanke, einige SQL CE 3.5-Komponenten erneut zu installieren.


Beliebte Antwort

Wenn Sie nach dem Weg zum Erstellen einer SQL Server Compact 3.5-Verbindung suchen und die Option nicht finden können, schließen Sie einfach Ihren VS und führen Sie SSCEVSTools-esn.msi von der vs2010-DVD aus. D: \ Visual Studio 2010 \ WCU \ SSCE



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum