Laden...

Internal.LazyRef kann bei Migration mit SQLite und EntityFrameworkCore nicht geladen werden

Erstellt von GeneVorph vor 4 Jahren Letzter Beitrag vor 4 Jahren 891 Views
G
GeneVorph Themenstarter:in
180 Beiträge seit 2015
vor 4 Jahren
Internal.LazyRef kann bei Migration mit SQLite und EntityFrameworkCore nicht geladen werden

SQLite, EntityFrameworkCore

Hallo,

nach langer Zeit möchte ich zum EntityFramework zurückkehren.
Ich habe mich beim Einrichten meines Projekts an die Anleitung auf folgender Website gehalten, und folgende Schritte unternommen:

  1. Folgende NuGet-Packages installiert:
  • Microsoft.EntityFrameworkCore.SQLite
  • Microsoft.EntityFrameworkCore.Tools
  • Microsoft.EntityFrameworkCore.Design
  1. In meinem Projekt eine DBContex erstellt:
public class MainDBContext : DbContext
    {
        /// <summary>
        /// Here go all Models/Objects that are part of the Database.
        /// They are the tables of the Database.
        /// </summary>
        #region DBSets
        public DbSet<Student> Students { get; set; }
        #endregion

        public MainDBContext()
            : base() { }

        protected override void OnConfiguring(DbContextOptionsBuilder optionBuilder)
        {
            optionBuilder.UseSqlite("Data Source = MyDataBase.sqlite");
        }
    }
  1. In der NuGet-Konsole folgendes Command eingeben, mit dem Ziel Migrationen zu erstellen:
    PM: add-migration InitialCreate

Dabei bekomme ich folgende Fehlermeldeung:> Fehlermeldung:

Ein Aufrufziel hat einen Ausnahmefehler verursacht.

(Es ist der einzige Fehler, der angezeigt wird, fast hatte ich den Eindruck, dass sonst alles funktioniert...)

Ich habe dann weiter oben in der Konsolenausgabe gesucht und bin auf Folgendes gestoßen:> Fehlermeldung:

System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.TypeLoadException: Der Typ "Microsoft.EntityFrameworkCore.Internal.LazyRef`1" in der Assembly "Microsoft.EntityFrameworkCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" konnte nicht geladen werden.

Leider lässt mich die Fehlermeldung ratlos zurück - welche Schritte sind erforderlich, um diesen Fehler zu beheben?

Gruß
Vorph

P.S.: Gibt es eine gute Anleitung für den (Wieder-)Einstieg in EntityFramework Core und SQLite? Ich habe bisher im Internet wahrlich viel Mist gefunden...

16.807 Beiträge seit 2008
vor 4 Jahren

Ich habe mich beim Einrichten meines Projekts an die Anleitung auf folgender
>
gehalten

.. und Du hast auch gesehen, dass die Anleitung über 2 Jahre ist und damit das Potential sehr groß ist, dass das in der Form outdated ist?

Gibt es eine gute Anleitung für den (Wieder-)Einstieg in EntityFramework Core und SQLite? Ich habe bisher im Internet wahrlich viel Mist gefunden...

Dann behaupte ich, dass Du nicht richtig gesucht hast.
Getting Started with EF Core on .NET Core Console App with a New database

Die EF Core Doc von Microsoft ist wirklich gut.
Verwende ich auch als Quelle, wenn ich Schulungen halte.

Und Sqlite verwende ich neben InMemory als Test- und Integrationsdatenbank.
Ist in EFCore wirklich gut gelöst und stabil mittlerweile.

optionBuilder.UseSqlite("Data Source = MyDataBase.sqlite");  

IIRC waren Leerzeichen noch nie im Connection String erlaubt. Auch in der Doku und in Deinem Link sind hier keine Whitespaces.