Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 22846|Válasz: 0

[.NET mag] 【Practical Combat】ASP.NET Core Entity Framework Core bevezető tutorial

[Linket másol]
Közzétéve 2019. 05. 06. 15:38:54 | | | |
Az Entity Framework (EF) Core egy könnyű, bővíthető, nyílt forráskódú és platformos változata a népszerű Entity Framework adathozzáférési technológiának.

Az EF Core használható objektum-relációs leképezőként (O/RM), így a .NET fejlesztők az .NET objektumokkal rendelkező adatbázisokkal dolgozhatnak, így nem kell gyakran írniuk a legtöbb adathozzáférési kódot.

Adatbázis-szolgáltató:A hiperlink bejelentkezés látható.

A cikkben használt környezet:

  • Open Tools: VS 2017
  • dotNet verzió: 2.1.301
  • Adatbázis: SQL Sever 2012


Készíts egy projektet



1: A BaiDuPan.WebUI egy ASP.NET egy Core webalkalmazás létrehozására;



2: A BaiDuPan.DomainModel egy osztálykönyvtár (.NET Core) létrehozása szükséges;

Entitás keretrendszer maghivatkozás hozzáadása

Fejlesztettem a vs2017-gyel. NET Framework projekt, amikor hozzáadod az EF 6-ot, közvetlenül hozzáadhatod a projekt jobb gombján történő kattintással, ahogy az alábbi ábrán látható:



Azonban EF magokat nem lehet ilyen módon hozzáadni.

PM parancs:


A fenti sorrend szerint,A program automatikusan hozzáadja a szükséges függőségi csomagokatTehát nincs szükség a Microsoft.EntityFrameworkCore csomag hozzáadására.

Kontextus és entitás modellek hozzáadása

Filmmodellek:


PanDb adatbázis kontextus:

Startup class, amely adatbázis-kontextusfüggőség infecskendezést ad hozzá (Itt egy DomainModel hivatkozást kell hozzáadni a WebUI-hoz):


A fenti kód megköveteli, hogy a projekt a Microsoft.EntityFrameworkCore.SqlServer hivatkozást használja, de a BaiDuPan.WebUI-nak nem kell hivatkoznia a Microsoft.EntityFrameworkCore.SqlServer címre, miért nem jelent hibát?

Microsoft.AspNetCore.App csomag tartalmazza a ASP.NET Core 2.1 és újabb verziók, valamint az Entity Framework Core 2.1 és újabb verziók összes funkcióját. A ASP.NET Core 2.1 és későbbi verziók alapértelmezett projektsablonjai ezt a csomagot használják. Microsoft.AspNetCore.App csomagokat ajánlottak ASP.NET Core 2.1 és újabb verziókkal, valamint az Entity Framework Core 2.1 vagy újabb verziókkal rendelkező alkalmazásokhoz.


appsettings.json Konfiguráld az adatbázis-kapcsolati stringet:


Próbáld meg a következő hibával kezdeni a projektet:

A NU1107 hiba verzióütközést észlel a Microsoft.EntityFrameworkCore fájlban. A csomag közvetlen projektből való hivatkozása megoldja ezt a problémát.
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       

Ennek oka, hogy verzióellentét van a két projekt között, próbálj meg egy magasabb szintű EF Core telepítést a BaiDuPan.WebUI-n, az új hiba a következő:

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2.4
  MENJhttps://api.nuget.org/v3/registr ... qlserver/index.json
  CACHEhttps://api.nuget.org/v3/registr ... qlserver/index.json
A C:\Users\itsvse_pc\Source\Repos\baidupan\BaiDuPan.WebUI\BaiDuPan.WebUI.csproj csomagjának visszaállítása...
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: Verzióütközés észlelve a Microsoft.EntityFrameworkCore fájlban. A csomag közvetlen projektből való hivatkozása megoldja ezt a problémát.
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).
Helyszínsor: 1 Karakterek: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Install-Package], Kivétel
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Install-Package: Csomag visszaállítása sikertelen. Csomagváltozások visszaállítása a "BaiDuPan.WebUI" esetében.
Helyszínsor: 1 Karakterek: 1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Install-Package], Kivétel
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Időpont: 00:00:01.4208784
Privát mesélő>



Mit tegyek? A megoldás a következő:

Lefelé a BaiDuPan.WebUI projekt a Microsoft.EntityFrameworkCore 2.1.1-re hivatkozik, így a nuget parancsot újra végrehajtjuk a BaiDuPan.DomainModel projektben a következőként:

Így garantáljuk, hogy minden projektnek ugyanaz az EF Core verziója van.

Inicializálni az adatbázist

Az adatbázis és a tábla sikeresen létrejött, ahogy az alábbi képen látható:



Add hozzá a MovieController vezérlőt

A kódex a következő:

Az Index módszer az adatbázis Movie táblájában található összes adatot lekérdezi, a Létrehozás módszer pedig új adatok hozzáadása, próbáljunk meg egy adatot hozzáadni, és kérjük postánál, ahogy az alábbi ábrán látható:

A hiperlink bejelentkezés látható.POST kérés


A program zökkenőmentesen működött, kivételek nem voltak, bizonyítva, hogy a behelyezés sikeres volt, és megpróbálták megszerezni a hozzáférést:A hiperlink bejelentkezés látható.Kérdezze le az összes adatot, ahogy az alábbi ábrán látható:



Ami a módosításokat és törléseket illeti, ez magától értetődő!

Erőforrások:

Entity Framework Core:A hiperlink bejelentkezés látható.

ASP.NET Mag:A hiperlink bejelentkezés látható.

(Vége)


Pontszám

A résztvevők száma1MB+1 hozzájárul+1 Összeomlás ok
Admin + 1 + 1 Nagyon erős!

Minden értékelés megtekintése





Előző:Vannak mesterek is?
Következő:Vessző szeparációs sorozat módszer
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com