[GELÖST] C# - EntityFramework mit SQLite-DB?
Übersicht Andere Programmiersprachen Allgemein
CO2ehemals "SirMO"Betreff: [GELÖST] C# - EntityFramework mit SQLite-DB? |
Mo, Apr 24, 2017 22:15 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich möchte mir eine ASP.NET WebAPI basteln und benötige dafür eine Datenbankverbindung. Ich habe mich nun entschieden, das EntityFramework mit einer SQLite-Datenbank zu nutzen (vorerst). Habe auch eine simple SQLite-Datenbank erzeugt (diese hat aktuell eine Tabelle namens "users" und einige Attribute). Ich nutze das Visual Studio 2015 Community und habe mir den SQLite-Datenbanktreiber heruntergeladen und installiert. Das EntityFramework war bereits installiert. Auch ist die VS-Erweiterung "Microsoft SQL Server Data Tools" installiert. Ich habe mich nun an diese Anleitung gehalten und komme bis zu dem Schritt, wo ich ein neues ADO.NET Entity Data Model" hinzufügen soll. In dem darauffolgenden Fenster erhalte ich meine konfigurierte SQLite-Datenbankconnection nicht. Ich habe schon versucht, das Visual Studio als Administrator auszuführen, jedoch hat dies nicht geholfen. Die "Microsoft SQL Server Data Tools" sind - wie geschrieben - installiert. Neustart habe ich ebenfalls schon durchgeführt. Wo ist das Problem? Warum zur Hölle sehe ich die Verbindung in dem Wizard nicht? |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
- Zuletzt bearbeitet von CO2 am Di, Apr 25, 2017 22:46, insgesamt einmal bearbeitet
XeresModerator |
Mo, Apr 24, 2017 22:26 Antworten mit Zitat |
|
---|---|---|
~VERSCHOBEN~ |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Jolinah |
Mo, Apr 24, 2017 23:37 Antworten mit Zitat |
|
---|---|---|
Hallo,
Hast du das 32bit-Setup von SQLite installiert? In der Anleitung und beim Download steht nämlich ganz klar: "This is the only setup package that is capable of installing the design-time components for Visual Studio 2015.". Selbst bei einem 64bit-System solle man dieses Setup verwenden, damit die design-time-Komponenten für Visual Studio mit installiert werden (da Visual Studio selbst immer noch eine 32-bit Anwendung ist). http://system.data.sqlite.org/....105.0.exe Ausserdem muss zuvor vermutlich die System.Data.SQLite.dll beim entsprechenden Projekt als Referenz hinzugefügt werden. Danach sollte SQLite im Dialog eigentlich zur Verfügung stehen (evtl. das Projekt vorher noch neu kompilieren). |
||
CO2ehemals "SirMO" |
Di, Apr 25, 2017 22:00 Antworten mit Zitat |
|
---|---|---|
Hallo,
vielen Dank für Deine Antwort. Ich habe das 32-Bit-Setup installiert, auch die Referenz zu System.Data.SQLite.dll ist im Projekt hinterlegt. Das Problem ist nicht, dass ich SQLite nicht auswählen kann, sondern meine SQLite-Datenbank. Hier einige Screenshots des Problems: Ich habe die SQLite-DB als Datenverbindung in VS2015 eingetragen: Wenn ich eine neue Verbindung hinzufügen will, sieht der Dialog auch wie folgt aus: Nun gehe ich wie im Tutorial vor, und fange an, ein neues Element zu meinem Projekt hinzuzufügen: Nachdem ich "ADO.NET Entity Data Model" ausgewählt habe, erscheint folgender Dialog: Hier wähle ich - wie im Tutorial gezeigt - den Punkt "Generate from database", bzw. im deutschen Studio den Punkt "EF Designer aus Datenbank" und komme in das Datenbankauswahlfenster: Hier habe ich aber meine SQLite-Datenbank nicht zur Auswahl... EDIT: So, ich habe es jetzt hinbekommen. Wie? Keine Ahnung. Was ich getan habe: Ich habe das komplette Projekt samt Projektmappe gelöscht (also komplett), in den Server-Verbindungen die Datenverbindung zu der SQLite-Datenbank entfernt (die Datenbankdatei an sich habe ich behalten) und ein neues ASP.NET WebAPI-Projekt erstellt. Namen dafür eingegeben und "lass gehen, Kapelle". Anschließend habe ich einen Rechtsklick auf die neu erstellte Projektmappe getätigt und auf "NuGet-Pakete verwalten..." geklickt. In dem aufgehenden Frame habe ich oben auf den Karteireiter "Durchsuchen..." geklickt und nach "SQLite" gesucht. Anschließend habe ich das Paket "System.Data.SQLite" durch einen Klick rechts auf das "Herunterladen"-Symbol heruntergeladen und installiert. Nachdem das Paket installiert wurde, habe ich die Datenverbindung zu meiner SQLite-Datenbank wiederhergestellt (Im Server-Explorer rechtsklick auf Datenverbindungen -> Neue Verbindung -> SQLite Datenbank). Nun habe ich dem Projekt ein neues Element hinzugefügt vom Typ "ADO.NET Entity Data Model" und konnte meine SQLite-Datenbank auswählen... Keine Ahnung, was da ursprünglich schief lief, ich freue mich schon, wenn ich andere DBMSs anbinden möchte |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Jolinah |
Mi, Apr 26, 2017 18:34 Antworten mit Zitat |
|
---|---|---|
Achso, da hab ich was verwechselt
Ich bin mir nicht ganz sicher, aber grundlegend gibt es 2 Quellen von Verbindungen. Die aus dem Server Explorer und die, die im Web.config als Connection String gespeichert sind. Meistens werden die vom Server Explorer auch direkt im Web.config gespeichert. Aber wenn die Verbindung im Server Explorer erstellt wurde, bevor ein Projekt geöffnet war, dann vermutlich nicht. Es könnte also sein, dass der Dialog nur die Web.config ausgelesen hat. |
||
CO2ehemals "SirMO" |
Mi, Apr 26, 2017 22:10 Antworten mit Zitat |
|
---|---|---|
Ich vermute eher, dass VS mit den NuGet-Paketen und den "hinterrücks" installierten Programmen nicht klar kam... Ich habe ja zuerst - wie im Tutorial - die 32-Bit-Variante von SQLite installiert, dann meine Datenbank hinzugefügt und dann versucht, sie in EF einzubinden (schreibe ich jetzt einfach mal so), was nicht klappte. Dann habe ich die NuGet-Pakete installiert für SQLite und an dem Punkt haperte es glaube ich. vielleicht sollte man bei der Installation der SQLite-Geschichten (also des Setups) Visual-Studio schließen (ich bin mir nicht mehr ganz sicher, ob ich das getan hatte ).
Leider werde ich nie herausfinden, was zu dem Problem geführt hat. Ich schaue mal, ob ich noch eine andere Datenquelle anbinde (eventuell auf einem MSSQL-Server) und gucke, wie sich das verhält... Sollte sich was ergeben, schreibe ich hier nochmal. |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Übersicht Andere Programmiersprachen Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group