Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 22846|Vastaus: 0

[.NET Core] 【Practical Combat】ASP.NET Coren Entity Framework Core -johdantotutorial

[Kopioi linkki]
Julkaistu 6.5.2019 15.38.54 | | | |
Entity Framework (EF) Core on kevyt, laajennettava, avoimen lähdekoodin ja monialustainen versio suositusta Entity Frameworkin tiedonhakuteknologiasta.

EF Corea voidaan käyttää objekti-relaatiokartoittajana (O/RM), jolloin .NET-kehittäjät voivat työskennellä .NET-objekteja sisältävien tietokantojen kanssa, jolloin heidän ei tarvitse kirjoittaa suurinta osaa datan käyttökoodista usein.

Tietokantatoimittaja:Hyperlinkin kirjautuminen on näkyvissä.

Tässä artikkelissa käytetty ympäristö:

  • Open Tools: VS 2017
  • dotnet-versio: 2.1.301
  • Tietokanta: SQL Sever 2012


Luo projekti



1: BaiDuPan.WebUI on ASP.NET Core-verkkosovelluksen luomiseen;



2: BaiDuPan.DomainModelin tarkoituksena on luoda luokkakirjasto (.NET Core);

Lisää Entity Framework Core -viite

Kehitetty vs2017:n kanssa. NET Framework -projekti, kun lisäät ef 6:n, voit lisätä sen suoraan hiiren oikealla klikkaamalla projektia, kuten alla olevassa kuvassa näkyy:



EF-ytimiä ei kuitenkaan voi lisätä edellä mainitulla tavalla.

PM-komento:


Yllä olevalla järjestyksellä,Ohjelma lisää automaattisesti tarvittavat riippuvuuspaketitJoten Microsoft.EntityFrameworkCore-pakettia ei tarvitse lisätä.

Lisää konteksti- ja entiteettimallit

Elokuvamallit:


PanDb-tietokannan konteksti:

Startup-luokka, joka lisää tietokantakontekstin riippuvuuden injektion (Tässä sinun täytyy lisätä DomainModel-viittaus WebUI:hin):


Yllä oleva koodi vaatii projektia viittaamaan Microsoft.EntityFrameworkCore.SqlServeriin, mutta BaiDuPan.WebUI ei tarvitse viitata Microsoft.EntityFrameworkCore.SqlServeriin, miksi virheestä ei raportoida?

Microsoft.AspNetCore.App paketti sisältää kaikki ASP.NET Core 2.1 ja uudemmat sekä Entity Framework Core 2.1 ja uudemmat ominaisuudet. Oletusprojektipohjat ASP.NET Core 2.1:lle ja uudemmille versioille käyttävät tätä pakettia. Microsoft.AspNetCore.App paketteja suositellaan sovelluksiin, joissa on ASP.NET Core 2.1 ja uudemmat sekä Entity Framework Core 2.1 ja uudemmat.


appsettings.json Määritä tietokantayhteysmerkkijono:


Yritä aloittaa projekti seuraavalla virheellä:

Virhe NU1107 havaitsee versioristiriidan Microsoft.EntityFrameworkCore -tiedostossa. Viittaamalla suoraan pakettiin projektista ratkaisee tämän ongelman.
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       

Syynä on se, että kahden projektin välillä on versioristiriita, yritä asentaa korkeampi versio efcoresta BaiDuPan.WebUI:hin, uusi virhe on seuraava:

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2.4
  MENEhttps://api.nuget.org/v3/registr ... qlserver/index.json
  VÄLIMUISTIhttps://api.nuget.org/v3/registr ... qlserver/index.json
C:\Users\itsvse_pc\Source\Repos\baidupan\BaiDuPan.WebUI\BaiDuPan.WebUI.csproj paketti palautetaan...
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: Versioristiriita havaittu Microsoft.EntityFrameworkCore -tiedostossa. Viittaamalla suoraan pakettiin projektista ratkaisee tämän ongelman.
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).
Sijaintirivi: 1 Merkit: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -versio 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Install-Package], Poikkeus
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Install-Package: Paketin palautus epäonnistui. Paketin muutosten palauttaminen "BaiDuPan.WebUI":lle.
Sijaintirivi: 1 Merkit: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -versio 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Install-Package], Poikkeus
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Aloitusaika: 00:00:01.4208784
PM>



Mitä tehdä? Ratkaisu on seuraava:

Alas, BaiDuPan.WebUI-projekti viittaa Microsoft.EntityFrameworkCore 2.1.1:een, joten suoritamme nuget-komennon uudelleen BaiDuPan.DomainModel-projektissa seuraavasti:

Näin takaamme, että kaikilla projekteilla on sama EF Core -versio.

Alusta tietokanta

Tietokanta ja taulukko on onnistuneesti luotu seuraavan kuvan mukaisesti:



Lisää MovieController-ohjain

Koodi on seuraava:

Index-menetelmä on hakea kaikki tiedot tietokannan Movie-taulukosta, ja Create-menetelmä on lisätä uutta dataa, yritetään lisätä tieto ja pyytää se Postmanilta, kuten alla olevassa kuvassa näkyy:

Hyperlinkin kirjautuminen on näkyvissä.POST-pyyntö


Ohjelma pystyi toimimaan sujuvasti, poikkeuksia ei tehty, mikä todisti lisäyksen onnistuneen ja pääsyn yrittivät tehdä:Hyperlinkin kirjautuminen on näkyvissä.Kysy kaikki tiedot alla olevan kuvan mukaisesti:



Mitä tulee muokkauksiin ja poistoihin, se on itsestään selvää!

Varat:

Entity Framework Core:Hyperlinkin kirjautuminen on näkyvissä.

ASP.NET Core:Hyperlinkin kirjautuminen on näkyvissä.

(Loppu)


Pistetilanne

Osallistujien määrä1MB+1 myötävaikuttaa+1 Romahdus syy
Admin + 1 + 1 Erittäin voimakas!

Katso kaikki arviot





Edellinen:Onko olemassa maistereita?
Seuraava:Pilkkujen erottelumerkkijonomenetelmä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com