Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 22846|Antwort: 0

[.NET Core] 【Praktischer Kampf】ASP.NET Core Entity Framework Core Einführungsanleitung

[Link kopieren]
Veröffentlicht am 06.05.2019 15:38:54 | | | |
Entity Framework (EF) Core ist eine leichte, erweiterbare, quelllose und plattformübergreifende Version der beliebten Datenzugriffstechnologie Entity Framework.

EF Core kann als objektrelationeller Mapper (O/RM) verwendet werden, damit .NET-Entwickler mit Datenbanken mit .NET-Objekten arbeiten können, sodass sie nicht häufig den Großteil des Datenzugriffscodes schreiben müssen.

Datenbankanbieter:Der Hyperlink-Login ist sichtbar.

Die in diesem Artikel verwendete Umgebung:

  • Open Tools: VS 2017
  • dotnet-Version: 2.1.301
  • Datenbank: SQL Sever 2012


Erstelle ein Projekt



1: BaiDuPan.WebUI ist eine ASP.NET zur Erstellung einer Core-Webanwendung;



2: BaiDuPan.DomainModel dient dazu, eine Klassenbibliothek (.NET Core) zu erstellen;

Fügen Sie eine Entity Framework Core-Referenz hinzu

Entwickelt mit vs2017. NET Framework-Projekt, wenn Sie EF 6 hinzufügen, können Sie es direkt hinzufügen, indem Sie mit Rechtsklick auf das Projekt klicken, wie in der Abbildung unten gezeigt:



EF-Kerne können jedoch nicht auf die oben genannte Weise hinzugefügt werden.

PM-Kommando:


Nach der obigen Reihenfolge giltDas Programm fügt automatisch die erforderlichen Abhängigkeitspakete hinzuEs ist also nicht nötig, das Microsoft.EntityFrameworkCore-Paket hinzuzufügen.

Kontext- und Entitätsmodelle hinzufügen

Filmmodelle:


Kontext der PanDb-Datenbank:

Startklasse, die Datenbankkontext-Abhängigkeitsinjektion (Hier müssen Sie eine DomainModel-Referenz zum WebUI hinzufügen):


Der obige Code verlangt, dass das Projekt auf Microsoft.EntityFrameworkCore.SqlServer referenziert, aber BaiDuPan.WebUI muss Microsoft.EntityFrameworkCore.SqlServer nicht referenzieren – warum wird kein Fehler gemeldet?

Microsoft.AspNetCore.App Paket enthält alle Funktionen von ASP.NET Core 2.1 und später sowie Entity Framework Core 2.1 und neuer. Standard-Projektvorlagen für ASP.NET Core 2.1 und später verwenden dieses Paket. Microsoft.AspNetCore.App Pakete werden für Anwendungen mit ASP.NET Core 2.1 und später sowie Entity Framework Core 2.1 und später empfohlen.


appsettings.json Konfigurieren Sie die Datenbank-Verbindungszeichenkette:


Versuchen Sie, das Projekt mit folgendem Fehler zu starten:

Fehler NU1107 erkennt einen Versionskonflikt in Microsoft.EntityFrameworkCore. Das direkte Referenzen des Pakets aus dem Projekt löst dieses Problem.
BaiDuPan.WebUI -> BaiDuPan.DomainModel -> Microsoft.EntityFrameworkCore.SqlServer 2.2.4 -> Microsoft.EntityFrameworkCore.Relational 2.2.4 -> Microsoft.EntityFrameworkCore (>= 2.2.4)
BaiDuPan.WebUI -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.EntityFrameworkCore (>= 2.1.1 && < 2.2.0).        BaiDuPan.WebUI C:\Users\itsvse_pc\Source\Repos\baidupan\BaiDuPan.WebUI\BaiDuPan.WebUI.csproj 1       

Der Grund ist, dass es einen Versionskonflikt zwischen den beiden Projekten gibt, versuchen Sie, eine höhere Version von ef core in BaiDuPan.WebUI zu installieren, der neue Fehler lautet wie folgt:

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2.4
  ERHALTENhttps://api.nuget.org/v3/registr ... qlserver/index.json
  CACHEhttps://api.nuget.org/v3/registr ... qlserver/index.json
Zurücksetzung des Pakets von C:\Users\itsvse_pc\Source\Repos\baidupan\BaiDuPan.WebUI\BaiDuPan.WebUI.csproj...
NU1608: 检测到的包版本在依赖项约束之外: Microsoft.AspNetCore.App 2.1.1 需要 Microsoft.EntityFrameworkCore.SqlServer (>= 2.1.1 && < 2.2.0),但版本 Microsoft.EntityFrameworkCore.SqlServer 2.2.4 已解决。
Installationspaket: NU1107: Versionskonflikt in Microsoft.EntityFrameworkCore erkannt. Das direkte Referenzen des Pakets aus dem Projekt löst dieses Problem.
BaiDuPan.WebUI -> Microsoft.EntityFrameworkCore.SqlServer 2.2.4 -> Microsoft.EntityFrameworkCore.Relational 2.2.4 -> Microsoft.EntityFrameworkCore (>= 2.2.4)
BaiDuPan.WebUI -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.EntityFrameworkCore (>= 2.1.1 && < 2.2.0).
Standortzeile: 1 Zeichen: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + KategorieInfo: NichtSpezifiziert: (:) [Install-Package], Ausnahme
    + FullQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Install-Package: Paketwiederherstellung fehlgeschlagen. Paketänderungen für "BaiDuPan.WebUI" rückgängig machen.
Standortzeile: 1 Zeichen: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + KategorieInfo: NichtSpezifiziert: (:) [Install-Package], Ausnahme
    + FullQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Ap: 00:00:01.4208784
PM>



Was ist zu tun? Die Lösung lautet wie folgt:

Downgrade, das BaiDuPan.WebUI-Projekt verweist auf Microsoft.EntityFrameworkCore 2.1.1, daher führen wir den Nuget-Befehl im BaiDuPan.DomainModel-Projekt wie folgt erneut aus:

So garantieren wir, dass alle Projekte dieselbe EF Core-Version haben.

Datenbank initialisieren

Die Datenbank und die Tabelle wurden erfolgreich erstellt, wie im folgenden Bild gezeigt:



Fügen Sie den MovieController-Controller hinzu

Der Code lautet wie folgt:

Die Index-Methode besteht darin, alle Daten in der Datenbank-Movie-Tabelle abzufragen, und die Create-Methode besteht darin, neue Daten hinzuzufügen; versuchen wir, ein Datenstück hinzuzufügen und es mit dem Postboten anzufordern, wie in der untenstehenden Abbildung gezeigt:

Der Hyperlink-Login ist sichtbar.POST-Anfrage


Das Programm konnte reibungslos ausgeführt werden, es wurden keine Ausnahmen ausgelöst, was bewies, dass die Einfügung erfolgreich war, und der Zugriff wurde versucht:Der Hyperlink-Login ist sichtbar.Abfragen Sie alle Daten wie in der untenstehenden Abbildung dargestellt:



Was Modifikationen und Löschungen angeht, versteht sich das von selbst!

Betriebsmittel:

Kern des Entitätenrahmens:Der Hyperlink-Login ist sichtbar.

ASP.NET Kern:Der Hyperlink-Login ist sichtbar.

(Ende)


Punktzahl

Anzahl der Teilnehmer1MB+1 beitragen+1 Zusammenbruch Grund
Administrator + 1 + 1 Sehr mächtig!

Alle Bewertungen sehen





Vorhergehend:Gibt es Master?
Nächster:Methode der Komma-Trennung von Zeichenketten
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com