Ich versuche, Entity Framework Core in einem Datenrepository zu verwenden, aber ich habe Probleme, EF die Datenbank erstellen zu lassen.Entity Framework Core-Tools beim Erstellen eines Repositorys
In den vorherigen Versionen von EF geschah alles automatisch, EF erstellte die Datenbank, wenn sie beim ersten Mal nicht vorhanden war, als eine Operation an den Daten ausgeführt wurde.
Nun, ich habe in den Dokumenten die Anweisung, EF Migrations zu verwenden. Die Anweisungen sind die Abhängigkeiten und Tools zu installieren:
- Microsoft.EntityFrameworkCore.Design
- Microsoft.EntityFrameworkCore.Tools
Und dotnet ef migrations add MigrationName
zusammen laufen mit dotnet ef database update
.
Jetzt kommt hier die Sache. Während ich ein Repository erstelle, habe ich ein Projekt AppName.Data
, in dem die Repositories implementiert sind, und ein Projekt AppName.WebApi
, in dem die Repositories konsumiert werden.
Wenn ich versuche, die Tools hinzuzufügen und dotnet ef
von AppName.Data
ausführen, funktioniert es nicht, weil AppName.Data
eine Bibliothek ist. Die Fehlermeldung besagt, dass das Tool nur im Kontext einer ausführbaren App verwendet werden kann. Der nächste Versuch war dotnet ef
von AppName.WebApi
, die ausführbar ist. Jetzt dotnet ef
funktioniert, aber wenn ich dotnet ef migrations add InitialMigration
versuchen, die Datenbank zu erstellen, bekomme ich einen Fehler, weil die DbContext
nicht auf dem AppName.WebApi
Projekt ist, aber auf einem anderen Projekt.
Ich habe wirklich keine Ahnung, wie das geht. Also, wenn ich möchte, dass EF die Datenbank und all das erstellen, und ich Repositories verwenden möchte, so dass es keinen EF spezifischen Code auf dem ausführbaren Projekt gibt, was soll ich tun?
Zeigen Sie in der Paketmanagerkonsole auf das Projekt, in dem sich der applicationdbcontext befindet, und führen Sie es dann aus. – Thennarasan