webentwicklung-frage-antwort-db.com.de

"Migrationen" ist nicht im Namespace "Microsoft.EntityFrameworkCore" vorhanden.

Ich mache ein ASP.NET Core-Projekt. __ Ich habe Microsoft.EntityFrameworkCore und Microsoft.EntityFrameworkCore.Tools NuGet-Pakete installiert.

Ich habe den Add-Migration InitialCreate-Befehl, Ausgeführt, der Migrations-Ordner und 20180905180349_InitialCreate.cs-Datei erstellt hat.

Aber es heißt 

Der Typ- oder Namespace-Name 'Migrations' ist in der .__-Datei nicht vorhanden. Namespace 'Microsoft.EntityFrameworkCore' (fehlt eine Assembly Referenz?)

Was ist die Ursache dieses Fehlers? Muss ich ein anderes Paket installieren?

4
B45i

Ok, ich zeige Ihnen die minimalen Einstellungen, die für EF Core + Migrations erforderlich sind:

Sie müssen Microsoft.EntityFramework.Core installieren. Es ist jedoch besser, dass Sie anstelle dieses Pakets zunächst einen EF Core-Provider für die Datenbank installieren, die Sie verwenden möchten. Dann zieht der EF Core-Anbieter alle erforderlichen Abhängigkeiten ein (einschließlich Microsoft.EntityFramework.Core).

So (zum Beispiel) für SQLServer db werde ich in der Package Manager Console Folgendes installieren:

  1. Install-Package Microsoft.EntityFrameworkCore.SqlServer

  2. Install-Package Microsoft.EntityFrameworkCore.Tools (für Powershell-Befehle)

  3. Install-Package Microsoft.EntityFrameworkCore.Design (enthält Migrations-Engine - und wichtig Beachten Sie, dass dieses Paket innerhalb des ausführbaren Projekts sein muss)

Und das ist es.

9
juramarin
using Microsoft.EntityFrameworkCore; //Add to your reference at top of solution.

Setzen Sie das einfach in Ihre Referenz, um die Magie zu verwirklichen.

0
xTwisteDx