Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 22846|Risposta: 0

[.NET Core] 【Combattimento Pratico】ASP.NET tutorial introduttivo del Core per il Core di Entity Framework

[Copiato link]
Pubblicato su 06/05/2019 15:38:54 | | | |
Entity Framework (EF) Core è una versione leggera, estesibile, open-source e multipiattaforma della popolare tecnologia di accesso ai dati Entity Framework.

EF Core può essere utilizzato come mapper oggetto-relazionale (O/RM) in modo che gli sviluppatori .NET possano lavorare con database con oggetti .NET e così da non dover scrivere la maggior parte del codice di accesso ai dati frequentemente.

Fornitore di database:Il login del link ipertestuale è visibile.

L'ambiente utilizzato in questo articolo:

  • Strumenti Aperti: VS 2017
  • Versione dotnet: 2.1.301
  • Database: SQL Server 2012


Crea un progetto



1: BaiDuPan.WebUI è un ASP.NET per creare un'applicazione web Core;



2: BaiDuPan.DomainModel serve a creare una libreria di classi (.NET Core);

Aggiungi un riferimento Core per l'Entity Framework

Sviluppato con vs2017. Progetto NET Framework, quando aggiungi ef 6, puoi aggiungerlo direttamente cliccando con il tasto destro sul progetto, come mostrato nella figura qui sotto:



Tuttavia, i core EF non possono essere aggiunti nel modo sopra.

Comando PM:


Secondo l'ordine sopra indicato,Il programma aggiunge automaticamente i pacchetti di dipendenza necessariQuindi, non c'è bisogno di aggiungere il pacchetto Microsoft.EntityFrameworkCore.

Aggiungi modelli di contesto ed entità

Modelli di film:


Contesto del database PanDb:

Boot, che aggiunge l'iniezione di dipendenza dal contesto del database (Qui devi aggiungere un riferimento DomainModel all'interfaccia web):


Il codice sopra riportato richiede che il progetto faccia riferimento a Microsoft.EntityFrameworkCore.SqlServer, ma BaiDuPan.WebUI non deve necessariamente fare riferimento a Microsoft.EntityFrameworkCore.SqlServer, perché non viene segnalato un errore?

Microsoft.AspNetCore.App pacchetto include tutte le funzionalità di ASP.NET Core 2.1 e successive e di Entity Framework Core 2.1 e successive. I modelli di progetto predefiniti per ASP.NET Core 2.1 e successivi utilizzano questo pacchetto. Microsoft.AspNetCore.App pacchetti sono raccomandati per applicazioni con ASP.NET Core 2.1 e successivi e Entity Framework Core 2.1 e successive.


appsettings.json Configura la stringa di connessione al database:


Prova a iniziare il progetto con il seguente errore:

L'errore NU1107 rileva un conflitto di versione in Microsoft.EntityFrameworkCore. Fare riferimento direttamente al pacchetto dal progetto risolve questo problema.
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       

Il motivo è che c'è un conflitto di versione tra i due progetti: prova a installare una versione superiore di ef core in BaiDuPan.WebUI, il nuovo errore è il seguente:

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer -Versione 2.2.4
  OTTIENIhttps://api.nuget.org/v3/registr ... qlserver/index.json
  CACHEhttps://api.nuget.org/v3/registr ... qlserver/index.json
Ripristino del pacchetto di 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 已解决。
Install-Package: NU1107: Conflitto di versione rilevato in Microsoft.EntityFrameworkCore. Fare riferimento direttamente al pacchetto dal progetto risolve questo problema.
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).
Posizione Linea: 1 Personaggi: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Versione 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NonSpecificato: (:) [Install-Package], Eccezione
    + FullQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommandCommand

Install-Package: Ripristino del pacchetto fallito. Annullamento delle modifiche ai pacchetti per "BaiDuPan.WebUI".
Posizione Linea: 1 Personaggi: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Versione 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NonSpecificato: (:) [Install-Package], Eccezione
    + FullQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommandCommand

Orario Disponibile: 00:00:01.4208784
PM>



Cosa fare? La soluzione è la seguente:

Downgrade, il progetto BaiDuPan.WebUI fa riferimento a Microsoft.EntityFrameworkCore 2.1.1, quindi riesecutiamo il comando nuget nel progetto BaiDuPan.DomainModel, come segue:

In questo modo, garantiamo che tutti i progetti abbiano la stessa versione EF Core.

Inizializzare il database

Il database e la tabella sono creati con successo come mostrato nell'immagine seguente:



Aggiungi il controller MovieController

Il codice è il seguente:

Il metodo Index consiste nel consultare tutti i dati nella tabella Movie del database, mentre il metodo Create è aggiungere nuovi dati; proviamo ad aggiungere un dato e richiederlo al postino, come mostrato nella figura sottostante:

Il login del link ipertestuale è visibile.Richiesta POST


Il programma è riuscito a eseguire senza intoppi, senza eccezioni, dimostrando che l'inserimento è stato riuscito e l'accesso è stato tentato:Il login del link ipertestuale è visibile.Consulta tutti i dati come mostrato nella figura sottostante:



Per quanto riguarda modifiche e cancellazioni, è ovvio!

Risorse:

Nucleo del Framework Entity:Il login del link ipertestuale è visibile.

ASP.NET Nucleo:Il login del link ipertestuale è visibile.

(Fine)


Punteggio

Numero di partecipanti1MB+1 contribuire+1 Collasso ragione
Admin + 1 + 1 Molto potente!

Vedi tutte le valutazioni





Precedente:Esistono master?
Prossimo:Metodo della stringa di separazione delle virgole
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com