Laden...

.Net 5 und EF6 mit ADO Sqlite Databse First

Erstellt von Thron vor 3 Jahren Letzter Beitrag vor 3 Jahren 565 Views
T
Thron Themenstarter:in
63 Beiträge seit 2017
vor 3 Jahren
.Net 5 und EF6 mit ADO Sqlite Databse First

verwendetes Datenbanksystem: Sqlite

Hallo allerseits,

ich bin gerade dabei mich mit .Net 5 und EF6 zu beschäftigen! Jetzt stehe ich gerade absolut auf dem Schlauch. Ich habe mit EF6 und ado.net entity data model in Verbindung mit MySQL-Server und Database First den Code designed und es klappt auch alles. Wenn ich das nun mit andern Datenbanktechnologie machen möchte ist dies nicht möglich.

Wie kann ich dies z.B. mit MariaDB, PostgresSQL oder Sqlite machen?

Bin momentan noch am einarbeiten, deswegen bitte ich um Nachsicht, wenn es eine absolut idiotische Frage ist!

Viele Grüße und Danke
thron

G
180 Beiträge seit 2015
vor 3 Jahren

Hallo Thron,

könntest du deine Problematik etwas genauer beschreiben?

Da SQLite eher ein Client-based Datenbanksystem ist, würde ich dir EntityFrameworkCore vorschlagen (es entällt die clientseitige Installation eines kompletten Datenbanksystems, aber das möchtest du ja eh nicht, da du SQLite verwendest).

Die Herangehensweie ist prinzipiell dieselbe:
Du erstellst deine Data-Models und erstellst deine Entities anhand dieser Models. Außerdem benötigst du eine Klasse die von DbContext erbt - das wird dein DataContext.

Das ist jetzt sehr, sehr sporadisch umrissen, aber es lohnt sich eigentlich erst dann in die Tiefe zu gehen, wenn wir das konkrete Problem kennen.

Gruß
GeneVorph

16.835 Beiträge seit 2008
vor 3 Jahren

EF6 ist seit 3 Jahren abgekündigt; dürfte mit .NET 5 gar nicht funktionieren (bin ich mir aber unsicher).
Nimm EF Core.

EntityFrameworkCore ist in mehrere NuGet Pakete aufgeteilt, je nachdem welchen Data Provider Du verwenden willst.
Die Programmierung deckt den gemeinsamen Nenner ab; das NuGet Paket die DBMS-Kommunikation.

Aber im Endeffekt kannst einfach die Doku lesen; weil die ist für so einen Start da.
Deckt auch fast alle Themen von EF Core ab. Da kannst paar Tage investieren und hast dann zumindest nen guten Basic Start.

Entity Framework Core

PS: bedenke, dass Sqlite keine Schema Changes unterstützt.

T
Thron Themenstarter:in
63 Beiträge seit 2017
vor 3 Jahren

Hallo,

ich versuche nochmal meine Problem etwas besser zu beschrieben. Ich glaube es ist zu banal als das man es versteht!

  1. Ich erstelle mit Visual Studio 2019 ein Projekt (Console-App .NET).
  2. Ich versuche über die Nuget-Paketverwaltung Microsoft.EntityFrameworkCore 5.0.2 zu installieren.

Dabei bekomme ich den Fehler:

Fehlermeldung:
Das Paket "Microsoft.EntityFrameworkCore 5.0.2" konnte nicht installiert werden. Sie versuchen, dieses Paket in ein Projekt zu installieren, das sich auf ".NETFramework,Version=v4.8" bezieht, das Paket enthält aber keine Assemblyverweise oder Inhaltsdateien, die mit diesem Framework kompatibel sind. Wenden Sie sich an den Paketersteller, um weitere Informationen zu erhalten.

Ich kapiere es es nicht!? Irgendwo bin ich komplett falsch!

Viele Dank für die Geduld!

16.835 Beiträge seit 2008
vor 3 Jahren

Dann bitte nächstes Mal direkt den Fehler zeigen.
[Hinweis] Wie poste ich richtig?

Das Problem ist, dass Du Deine Konsolenanwendung als .NET Frameowkr 4.8 erstellt hast und nicht als .NET 5. Das Paket unterstützt aber kein .NET 4.8 und daher gibt es den Fehler.
Der Fehler verhindert, dass Du ein Paket in Dein Projekt bringst, das dann erst zur Runtime Fehler wirft.

Der Grund aber ist, dass in Deiner VS Version das Update noch nicht drin ist, dass Du bei der Projektanlage das Ziel definieren kannst. Das ändert sich mit dem nächsten VS Update.
Bild ist aus der aktuellen VS Preview.

Dass Du also das Paket installieren kannst, was das richtige ist, musst Du Deine Anwendung auf .NET 5 ändern.