See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 23437|Vastuse: 0

[.NET tuum] 【Practical Combat】ASP.NET Core'i Entity Framework Core sissejuhatav juhend

[Kopeeri link]
Postitatud 06.05.2019 15:38:54 | | | |
Entity Framework (EF) Core on kerge, laiendatav, avatud lähtekoodiga ja platvormideülene versioon populaarsest Entity Frameworki andmejuurdepääsutehnoloogiast.

EF Core'i saab kasutada objekti-relatsioonilise kaardistajana (O/RM), et .NET arendajad saaksid töötada andmebaasidega .NET objektidega, nii et nad ei peaks enamikku andmekoodist tihti kirjutama.

Andmebaasi pakkuja:Hüperlingi sisselogimine on nähtav.

Selles artiklis kasutatud keskkond:

  • Open Tools: VS 2017
  • dotNet versioon: 2.1.301
  • Andmebaas: SQL Sever 2012


Loo projekt



1: BaiDuPan.WebUI on ASP.NET Core veebirakenduse loomiseks;



2: BaiDuPan.DomainModel loob klassiteegi (.NET Core);

Lisa Entity Framework Core viide

Arendatud koos vs2017-ga. NET Framework projekt, kui lisad EF 6, saad selle otse lisada, klõpsates paremklõpsuga projektil, nagu alloleval joonisel näidatud:



Siiski ei saa EF-tuumasid eelmainitud viisil lisada.

PM käsk:


Ülaltoodud järjekorra järgi,Programm lisab automaatselt vajalikud sõltuvuspaketidSeega pole vaja lisada Microsoft.EntityFrameworkCore paketti.

Lisa konteksti ja üksuse mudelid

Filmimudelid:


PanDb andmebaasi kontekst:

Startup-klass, mis lisab andmebaasi konteksti sõltuvuse süstimise (Siin tuleb lisada WebUI-le DomainModeli viide):


Ülaltoodud kood nõuab, et projekt viitaks Microsoft.EntityFrameworkCore.SqlServerile, kuid BaiDuPan.WebUI ei pea viitama Microsoft.EntityFrameworkCore.SqlServerile, miks ei teatata veast?

Microsoft.AspNetCore.App pakett sisaldab kõiki ASP.NET Core 2.1 ja uuemate ning Entity Framework Core 2.1 ja uuemate versioonide funktsioone. Vaikimisi projektimallid ASP.NET Core 2.1 ja hilisemate jaoks kasutavad seda paketti. Microsoft.AspNetCore.App pakette soovitatakse rakendustele, millel on ASP.NET Core 2.1 ja uuemad ning Entity Framework Core 2.1 ja uuem.


appsettings.json Seadista andmebaasi ühendusstring:


Proovi projekti alustada järgmise veaga:

Viga NU1107 tuvastab versioonikonflikti Microsoft.EntityFrameworkCore'is. Paketi otse projektist viitamine lahendab selle probleemi.
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       

Põhjus on selles, et kahe projekti vahel on versioonikonflikt, proovi paigaldada BaiDuPan.WebUI-sse kõrgem efcore'i versioon, uus viga on järgmine:

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer -Versioon 2.2.4
  MINEhttps://api.nuget.org/v3/registr ... qlserver/index.json
  CACHEhttps://api.nuget.org/v3/registr ... qlserver/index.json
C:\Users\itsvse_pc\Source\Repos\baidupan\BaiDuPan.WebUI\BaiDuPan.WebUI.csproj paketi tagasipöördumine...
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: Microsoft.EntityFrameworkCore versioonikonflikt tuvastatud. Paketi otse projektist viitamine lahendab selle probleemi.
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).
Asukoha rida: 1 Tähemärgid: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecificified: (:) [Install-Package], Erand
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Install-Package: Paketi taastamine ebaõnnestus. Paketi muudatuste tagasipööramine "BaiDuPan.WebUI" jaoks.
Asukoha rida: 1 Tähemärgid: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecificified: (:) [Install-Package], Erand
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Algusaeg: 00:00:01.4208784
PM>



Mida teha? Lahendus on järgmine:

Tagasi, BaiDuPan.WebUI projekt viitab Microsoft.EntityFrameworkCore 2.1.1-le, seega käivitame nuget käsu uuesti BaiDuPan.DomainModel projektis järgmiselt:

Nii garanteerime, et kõigil projektidel on sama EF Core versioon.

Andmebaasi initsialiseerimine

Andmebaas ja tabel on edukalt loodud, nagu näidatud järgmisel pildil:



Lisa MovieController kontroller

Kood on järgmine:

Index meetod on pärida kõik andmed andmebaasi Movie tabelis ning Create meetod on lisada uusi andmeid, proovime lisada andmetüki ja taotleme seda postiljonilt, nagu alloleval joonisel näidatud:

Hüperlingi sisselogimine on nähtav.POSTI taotlus


Programm töötas sujuvalt, erandeid ei tehtud, mis tõestas sisestamise õnnestumist ja ligipääsu katsetati:Hüperlingi sisselogimine on nähtav.Küsi kõiki andmeid vastavalt allolevale joonisele:



Mis puudutab muudatusi ja kustutamisi, siis see on iseenesestmõistetav!

Ressursse:

Entity Framework Core:Hüperlingi sisselogimine on nähtav.

ASP.NET Core:Hüperlingi sisselogimine on nähtav.

(Lõpp)


Skoor

Osalejate arv1MB+1 Aitavad kaasa+1 Ahenda põhjus
Admin + 1 + 1 Väga võimas!

Vaata kõiki hinnanguid





Eelmine:Kas on olemas mõni magistriõpe?
Järgmine:Koma eraldamise stringi meetod
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com