Entitetski okvir - Entity Framework

Od Wikipedia, Slobodna Enciklopedija

Pin
Send
Share
Send

Entitetski okvir
Izvorni autor (i)Microsoft
Programer (i).NET Foundation
prvo izdanje11. kolovoza 2008; Prije 12 godina (2008-08-11)
Stabilno puštanje
Entitetski okvir 6: v6.4.4
Jezgra entitetskog okvira: v5.0.0 / Entity Framework 6: 22. travnja 2020; Prije 7 mjeseci (2020-04-22)[1]
Jezgra entitetskog okvira: 24. listopada 2020; Prije 30 dana (2020-10-24)[2]
Spremištegithub.com/ dotnet/ ef6
github.com/ dotnet/ efcore
Napisano uC #
Platforma.NET Framework,
.NET jezgra
TipObjektno-relacijsko mapiranje
LicencaApache licenca 2.0
Web stranicamsdn.microsoft.com/ hr-nas/podaci/ ef.aspx

Entitetski okvir (EF) je otvoreni izvor[3] objektno-relacijsko mapiranje (ORM) okvir za ADO.NET. Izvorno je isporučen kao sastavni dio .NET Framework. Počevši od Entity Framework verzije 6, isporučuje se odvojeno od .NET Framework.[potreban je citat]

Pregled

Entitetski okvir skup je tehnologija u Hrvatskoj ADO.NET koji podržavaju razvoj softverskih aplikacija orijentiranih na podatke. Arhitekti i programeri aplikacija usmjerenih na podatke obično se bore s potrebom postizanja dva vrlo različita cilja. Moraju modelirati entitete, odnose i logiku poslovnih problema koje rješavaju, a također moraju raditi s podatkovnim mehanizmima koji se koriste za pohranu i dohvaćanje podataka. Podaci se mogu proširiti na više sustava za pohranu, svaki sa svojim protokolima; čak i aplikacije koje rade s jednim sustavom za pohranu moraju uravnotežiti zahtjeve sustava za pohranu sa zahtjevima za pisanje učinkovitog i održivog programskog koda. Ovaj se problem općenito naziva "objektno-relacijska neusklađenost impedancije".[potreban je citat]

Puno objektno-relacijsko mapiranje (ORM) alati (zvani "objektno-relacijski upravitelji") razvijeni su kako bi programerima omogućili rad s podacima u obliku objekata i svojstava specifičnih za domenu, kao što su kupci i adrese kupaca, bez potrebe da se bave osnovnom bazom podataka. tablice i stupce u kojima su ti podaci pohranjeni. S ORM-om programeri mogu raditi na višoj razini apstrakcije kada se bave podacima i mogu stvarati i održavati podatke orijentirane aplikacije s manje koda nego u tradicionalnim aplikacijama. Entity Framework je ORM rješenje koje se trenutno promovira za upotrebu u Microsoftovom razvojnom paketu.[4]

Povijest

Prva verzija Entity Framework (EFv1) uključena je u .NET Framework 3.5 servisni paket 1 i Visual Studio 2008 Servisni paket 1, objavljen 11. kolovoza 2008 (Prije 12 godina) (2008-08-11). Ova je verzija naišla na velike kritike, čak je privukla i "nepovjerenje" koje je potpisalo najmanje tisuću programera.[5]

Druga verzija Entity Framework-a, nazvana Entity Framework 4.0 (EFv4), objavljena je u sklopu .NET 4.0 12. travnja 2010. godine i obraćala se mnogim kritikama na račun verzije 1.[6]

Treća verzija Entity Framework, verzija 4.1, objavljena je 12. travnja 2011. godine, uz podršku Code First.

Osvježavanje verzije 4.1, nazvano Entity Framework 4.1 Update 1, objavljeno je 25. srpnja 2011. Uključuje ispravke programskih pogrešaka i nove podržane tipove.

Verzija 4.3.1 objavljena je 29. veljače 2012.[7] Bilo je nekoliko ažuriranja, poput podrške za migraciju.

Verzija 5.0.0 objavljena je 11. kolovoza 2012[8] i usmjeren je na .NET framework 4.5. Također, ova verzija je dostupna i za .Net framework 4, ali bez ikakvih prednosti u odnosu na verziju 4.

Verzija 6.0 objavljena je 17. listopada 2013[9] i sada je projekt otvorenog koda licenciran pod Licenca Apache v2. Kao ASP.NET MVC, njegov izvorni kod je hostiran na GitHub koristeći Git.[10] Ova verzija ima brojna poboljšanja za prvo kod podrška.[11]

Microsoft je tada odlučio modernizirati, komponentizirati i donijeti .NET višeplatformnu platformu na Linux, OSX i drugdje, što znači da će sljedeća verzija Entity Framework-a biti cjelovito prepisivanje.[12] Dana 27. lipnja 2016. izdan je kao Entity Framework Core 1.0, zajedno s ASP.NET Core 1.0 i .NET Core 1.0.[13] Izvorno je nazvan Entity Framework 7, ali je preimenovan kako bi naglasio da je riječ o cjelovitom prepisivanju, a ne o dodatnoj nadogradnji i da ne zamjenjuje EF6.[14]

Entity Framework Core 1.0 licenciran je pod Licenca Apache v2 i u potpunosti se gradi na otvorenom GitHub. Iako Entity Framework Core 1.0 dijeli neke konceptualne sličnosti s prethodnim verzijama Entity Framework-a, to je potpuno nova baza podataka dizajnirana da bude učinkovitija, moćnija, fleksibilnija i proširiva, a izvodit će se na Windowsima, Linuxu i OSX-u i podržavat će novi raspon relacijskih i NOSQL spremišta podataka.[12]

Entity Framework Core 2.0 objavljen je 14. kolovoza 2017. zajedno s Visual Studio 2017 15.3 i ASP.NET Core 2.0 [15]

Entity Framework Core 3.0 objavljen je 23. rujna 2019. zajedno s Visual Studio 2019 16.3 i ASP.NET Core 3.0, [16]

Entity Framework Core 3.1 (EF Core 3.1) službeno je pušten u produkcijsku upotrebu 3. prosinca 2019 (Prije 11 mjeseci) (2019-12-03) i bit će preferirana dugoročno podržana verzija barem do 3. prosinca 2022.[17][18]

Arhitektura

ADO.NET Entity Framework stog.

Arhitektura ADO.NET Entity Framework-a, odozdo prema gore, sastoji se od sljedećeg:[potreban je citat]

  • Davatelji usluga specifični za izvor podataka, koji apstrahiraju ADO.NET sučelja za povezivanje s bazom podataka prilikom programiranja prema konceptualnoj shemi.
  • Davatelj karte, dobavljač specifičan za bazu podataka koji prevodi entitet SQL stablo naredbi u upit u izvornom SQL okusu baze podataka. Uključuje Most specifičan za trgovinu, koja je komponenta odgovorna za prevođenje generičkog stabla naredbi u stablo naredbi specifičnih za trgovinu.
  • EDM parser i mapiranje pogleda, koji uzima SDL specifikaciju podatkovnog modela i način na koji se on preslikava na temeljni relacijski model i omogućuje programiranje prema konceptualnom modelu. Iz relacijske sheme stvara poglede podataka koji odgovaraju konceptualnom modelu. Prikuplja informacije iz više tablica kako bi ih objedinio u entitet i dijeli ažuriranje entiteta u više ažuriranja bilo koje tablice koje su pridonijele tom entitetu.
  • Upit i ažuriranje cjevovoda, obrađuje upite, filtrira i ažurira zahtjeve kako bi ih pretvorio u kanonska stabla naredbi, a zatim ih davatelj karte pretvara u upite specifične za trgovinu.
  • Usluge metapodataka, koji obrađuju sve metapodatke povezane s entitetima, odnosima i preslikavanjima.
  • Transakcije, kako bi se integrirali s transakcijskim mogućnostima osnovne trgovine. Ako osnovna trgovina ne podržava transakcije, podršku za nju treba implementirati na ovom sloju.
  • API konceptualnog sloja, vrijeme izvođenja koje izlaže programski model za kodiranje prema konceptualnoj shemi. Slijedi ADO.NET obrazac korištenja Connection objekata za upućivanje na davatelja karte, koristeći Command objekte za slanje upita i vraćanje EntityResultSets ili EntitySets koji sadrže rezultat.
  • Odspojene komponente, koji lokalno predmemorira skupove podataka i skupove entiteta za upotrebu ADO.NET Entity Framework-a u povremeno povezanom okruženju.
  • Ugrađena baza podataka: ADO.NET Entity Framework uključuje laganu ugrađenu bazu podataka za predmemoriranje na strani klijenta i ispitivanje relacijskih podataka.
  • Alati za dizajn, kao što je Mapping Designer, također su uključeni u ADO.NET Entity Framework, što pojednostavljuje posao mapiranja konceptualne sheme u relacijsku shemu i određuje koja svojstva tipa entiteta odgovaraju kojoj tablici u bazi podataka.
  • Programski sloj, koji EDM izlaže kao programske konstrukcije koje programski jezici mogu konzumirati.
    • Usluge objekata, automatski generira kôd za CLR klase koje izlažu ista svojstva kao entitet, omogućujući tako instanciju entiteta kao .NET objekte.
    • Web usluge, koji entitete izlažu kao web usluge.
  • Usluge visoke razine, kao što su usluge izvještavanja koje rade na entitetima, a ne na relacijskim podacima.

Entitetski model podataka

The Entitetski model podataka (EDM) specificira konceptualni model (CSDL) podataka, koristeći tehniku ​​modeliranja koja se sama naziva Entity Data Model, proširena verzija model entiteta i odnosa.[19]Model podataka prvenstveno opisuje Entiteti i Udruge oni sudjeluju u. EDM shema izražena je u Jezik definicije sheme (SDL), što je aplikacija XML-a (Prošireni jezik za označavanje). Uz to, mora se navesti i mapiranje (MSL) elemenata konceptualne sheme (CSDL) u shemu pohrane (SSDL). Specifikacija mapiranja također je izražena u XML-u.[20]

Visual Studio također nudi Entity Designer za vizualno stvaranje EDM-a i specifikacije mapiranja. Rezultat alata je XML datoteka (* .edmx) koja specificira shemu i mapiranje. Edmx datoteka sadrži artefakte EF metapodataka (CSDL / MSL / SSDL sadržaj). Ove tri datoteke (csdl, msl, ssdl) također se mogu stvoriti ili urediti ručno.[potreban je citat]

Mapiranje

Čarobnjak za model entiteta[21] u Visual Studiju u većini slučajeva u početku generira mapiranje jedan na jedan (1: 1) između sheme baze podataka i konceptualne sheme. U relacijskoj shemi elementi su sastavljeni od tablica, s tim da primarni i strani ključevi lijepe povezane tablice. Suprotno tome, Vrste entiteta definirati konceptualnu shemu podataka.[potreban je citat]

Tipovi entiteta su skup više upisanih polja - svako polje preslikava se na određeni stupac u bazi podataka - i može sadržavati informacije iz više fizičkih tablica. Tipovi entiteta mogu se međusobno povezati, neovisno o odnosima u fizičkoj shemi. Povezani entiteti također su izloženi na sličan način - putem polja čije ime označava odnos u kojem sudjeluju i pristup kojemu, umjesto dohvaćanja vrijednosti iz nekog stupca u bazi podataka, prelazi odnos i vraća entitet (ili zbirku entiteta) s s kojim je povezano.[potreban je citat]

Tipovi entiteta čine klasu objekata s kojima se entiteti slažu, s tim što su Entiteti instance tipova entiteta. Entiteti predstavljaju pojedinačne objekte koji čine dio problema koji se rješava aplikacijom i indeksiraju se pomoću ključa. Na primjer, pretvarajući gore opisanu fizičku shemu, imat ćemo dvije vrste entiteta:

  • Korisnički entitet, koji sadrži ime kupca iz Kupci tablice i adresu kupca s Kontakti stol.
  • OrderEntity, koji obuhvaća narudžbe određenog kupca, dohvaćajući ih iz Narudžbe stol.

Logička shema i njezino preslikavanje s fizičkom shemom predstavljeni su kao Entitetski model podataka (EDM), navedeno kao XML datoteka. ADO.NET Entity Framework koristi EDM za stvarno izvođenje mapiranja dopuštajući aplikaciji da radi s entitetima, dok interno apstrahira upotrebu ADO.NET konstrukcija poput Skup podataka i RecordSet. ADO.NET Entity Framework izvodi pridružuje se potrebno da bi se imali podaci o referencama entiteta iz više tablica ili kada se prelazi odnos. Kada se entitet ažurira, prati natrag iz koje tablice su informacije došle i izdaje SQL ažuriranja kako bi ažurirao tablice u kojima su neki podaci ažurirani. ADO.NET Entity Framework koristi eSQL, derivat SQL-a, za izvođenje upita, teoretske operacije skupova i ažuriranja entiteta i njihovih odnosa. Upiti u eSQL-u, ako su potrebni, prevode se u izvorni SQL okus osnovne baze podataka.[potreban je citat]

Tipovi entiteta i skupovi entiteta samo čine logičku EDM shemu i mogu se izložiti kao bilo što. ADO.NET Entity Framework uključuje Usluga objekata koja te entitete predstavlja kao Predmeti s elementima i odnosima koji su izloženi kao svojstva. Dakle, entiteti su samo prednji dio instanci EDM tipova entiteta, što omogućuje objektno orijentiranim jezicima da im pristupe i koriste ih. Slično tome, mogu se stvoriti i drugi front-endovi koji izlažu entitete putem web usluga (npr. WCF podatkovne usluge) ili XML koji se koristi kada se entiteti serializiraju za trajno skladištenje ili bežični prijenos.[22]

Entiteti

Entiteti ** su primjerci Vrsta entitetas; predstavljaju pojedinačne instance predmeta (kao što su kupac, naredbe) na koju se informacije odnose. Identitet entiteta definiran je tipom entiteta čiji je primjerak; u tom smislu tip entiteta definira klasu kojoj entitet pripada i također definira čemu Svojstva entitet će imati. Svojstva opisuju neki aspekt entiteta davanjem imena i tipa. Svojstva tipa entiteta u ADO.NET Entity Frameworku potpuno su otkucana i potpuno su kompatibilna sa sustavom tipova koji se koristi u DBMS sustavu, kao i sa zajedničkim sustavom tipova .NET Framework. Svojstvo može biti SimpleType, ili ComplexType, a može biti i višeznačna. svi Vrsta entitetas pripadaju nekom imenskom prostoru i imaju EntityKey svojstvo koje jedinstveno identificira svaku instancu tipa entiteta. Različite vrste svojstava razlikuju se na sljedeći način:[potreban je citat]

  • SimpleType, odgovara primitivnim vrstama podataka poput Cijeli broj, Likovi i Plutajuća točka brojevi.[23]
  • ComplexType, je skup više svojstava tipa SimpleType, ili ComplexType. Za razliku od Vrsta entitetas, međutim, Složeni tipovi ne mogu imati EntityKey. U Entity Framework v1 Složeni tipovi ne može se naslijediti.[24]

Sve su instance entiteta smještene u EntityContainers, koji su spremnici po projektu za entitete. Svaki projekt ima jedan ili više imenovanih EntityContainers, koji mogu referencirati entitete u više prostora imena i tipova entiteta. Višestruki primjerci jednog tipa entiteta mogu se pohraniti u zbirke nazvane EntitySets. Jedna vrsta entiteta može imati više entitetaSetova.[potreban je citat]

EDM primitivni tipovi (jednostavni tipovi):[23][25]

EDM tipMapiranje tipa CLR
Edm.BinarniBajt[]
Edm.BooleanBooleova
Edm.ByteBajt
Edm.DateTimeDatum vrijeme
Edm.DateTimeOffsetDateTimeOffset
Edm.DecimalnoDecimal
Edm.DvostrukoDvostruko
Edm.VodičVodič
Edm.Int16Int16
Edm.Int32Int32
Edm.Int64Int64
Edm.ByteSByte
Edm.SamoSingl
Edm.StringNiz
Edm.VrijemeVremenski raspon

Odnosi

Bilo koja dva tipa entiteta mogu se povezati bilo kojim Udruživanje odnos ili a Ograničavanje odnos. Na primjer, pošiljka naplaćuje se za kupca je udruživanje dok je narudžba sadrži detalji narudžbe odnos je ograničavanja. Relacija ograničavanja također se može koristiti za modeliranje nasljeđivanja između entiteta. Odnos između dva tipa entiteta naveden je pomoću a Vrsta veze, slučajevi kojih, tzv Odnosi, povezuju instance entiteta. U budućim izdanjima, druge vrste odnosa poput Sastav, ili Identifikacija, može se predstaviti.[potreban je citat]

Vrste odnosa karakteriziraju njihov stupanj (aritet) ili broj entiteta s kojima se odnose i njihova višestrukost. Međutim, u početnom izdanju ADO.NET Entity Framework, odnosi su ograničeni na binarni (dvostupanjski) dvosmjerni odnos. Mnogostrukost definira koliko se instance entiteta mogu povezati zajedno. Na temelju višestrukosti, odnosi mogu biti jedan na jedan, jedan na više ili mnogo na mnogo. Imenovani su odnosi između entiteta; ime se zove Uloga. Definira svrhu veze.[potreban je citat]

Vrsta veze također može imati Operacija ili Akcijski povezan s njom, što omogućuje izvođenje neke radnje na entitetu u slučaju da se radnja izvrši na povezanom entitetu. Za odnos se može odrediti trajanje Akcijski kad neki Operacija vrši se na povezanom entitetu. Na primjer, prilikom brisanja entiteta koji čini dio relacije ( OnDelete radnje) radnje koje se mogu poduzeti su:[26]

  • Kaskada, koji upućuje na brisanje instance veze i svih pridruženih instanci entiteta.
  • Nijedna.

Za odnose pridruživanja, koji mogu imati različitu semantiku na oba kraja, mogu se navesti različite radnje za oba kraja.[potreban je citat]

Jezik definicije sheme

ADO.NET Entity Framework koristi jezik definicije podataka zasnovan na XML-u Jezik definicije sheme (SDL) za definiranje EDM sheme. SDL definira SimpleTypes slične CTS primitivni tipovi, uključujući Niz, Int32, Dvostruko, Decimal, Vodič, i Datum vrijeme, između ostalih. An Nabrajanje, koja definira mapu primitivnih vrijednosti i imena, također se smatra jednostavnim tipom. Nabrajanja su podržana samo od okvira verzije 5.0 nadalje. Složeni tipovi stvaraju se iz agregacije drugih vrsta. Zbirka svojstava ovih tipova definira tip entiteta. Ova se definicija može zapisati u gramatiku EBNF kao:[potreban je citat]

  Vrsta entiteta ::= ENTITYTYPE entityTypeName [BASE entityTypeName]    [SAŽETAK istina|lažno] KLJUČNO imeName [, svojstvoName]*      {(propertyName PropertyType [PropertyFacet]*) +}  Vrsta svojstva ::= ((PrimitiveType [PrimitiveTypeFacets]*)    |  (complexTypeName) | Vrsta reda  PropertyFacet ::= ( [NULADNO istina | lažno] |    [DEFAULT defaultVal] | [MNOŠTVO [ 1|*] ] )  PropertyTypeFacet ::= MAKSIMALNA DUŽINA | PRECIZNOST | RAZMJERA | UNICODE | FIKSNA DUŽINA | ZBIRKA    | DATETIMEKIND | OČUVANI SEKOND  PrimitiveType ::= BINARNI | NIZ | BOOLEAN    | SINGL | DVOSTRUKO | DECIMAL | vodič    | BAJT | SBYTE | INT16 | INT32 | INT64    | DATUM VRIJEME | DATETIMEOFFSET | VRIJEME )

Fasete koriste se za opisivanje metapodataka o svojstvu, kao što je to je li poništeno ili ima zadanu vrijednost, kao i kardinalnost svojstva, tj. je li svojstvo jednovalno ili višeznačno. Mnoštvo "1" označava jedno vrednovanje imovine; "*" znači da je riječ o imovini s više vrijednosti. Kao primjer, entitet se u SDL-u može označiti kao:[27]

 Ime ="Addr">     Ime ="Ulica" Upišite ="Niz" Nullable ="lažno" />     Ime ="Grad" Upišite ="Niz" Nullable ="lažno" />     Ime ="Zemlja" Upišite ="Niz" Nullable ="lažno" />     Ime ="Poštanski broj" Upišite ="Int32" /></ComplexType> Ime ="Kupac">    <Key>         Ime ="E-pošta" />    </Key>     Ime ="Ime" Upišite ="Niz" />     Ime ="E-pošta" Upišite ="Niz" Nullable ="lažno" />     Ime ="Adresa" Upišite ="Addr" /></EntityType>

Vrsta veze definira se kao specificiranje krajnjih točaka i njihove množine. Na primjer, odnos jedan-prema-više između Kupac i Narudžbe može se definirati kao

 Ime ="CustomerAndOrders">     Upišite ="Kupac" Višekratnost ="1" />     Upišite ="Narudžbe" Višekratnost ="*">         Akcija ="Kaskada" />    </End></Association>

Upit za podatke

Entitetski SQL

ADO.NET Entity Framework koristi varijantu Strukturirani jezik upita, imenovan Entitetski SQL, koji je usmjeren na pisanje deklarativnih upita i ažuriranja nad entitetima i odnosima entiteta - na konceptualnoj razini. Od SQL-a se razlikuje po tome što nema eksplicitne konstrukcije za pridružuje se jer je EDM dizajniran za apstraktno dijeljenje podataka na tablice.[potreban je citat]

Upit o konceptualnom modelu olakšava EntityClient class, koji prihvaća Entity SQL upit. Cjevovod upita raščlanjuje Entity SQL upit u stablo naredbi, razdvajajući upit u više tablica, koji se predaje dobavljaču EntityClient. Poput ADO.NET davatelja podataka, i EntityClient davatelj inicijalizira se pomoću a Veza objekt, koji pored uobičajenih parametara podataka o pohrani podataka i provjeri autentičnosti, zahtijeva SDL shemu i podatke o mapiranju. Davatelj usluga EntityClient zatim pretvara stablo naredbi Entity SQL u SQL upit u izvornom okusu baze podataka. Izvršenje upita zatim vraća Entity SQL ResultSet, koji nije ograničen na tabličnu strukturu, za razliku od ADO.NET ResultSets.[potreban je citat]

Entitet SQL poboljšava SQL dodavanjem unutarnje podrške za:[potreban je citat]

  • Vrste, jer su ADO.NET entiteti potpuno otkucani.
  • EntitySets, koji se tretiraju kao zbirke entiteta.
  • Sastavljivost, koji uklanja ograničenja o tome gdje se podupiti mogu koristiti.

Kanonske funkcije entiteta SQL

Kanoničke funkcije podržavaju svi pružatelji podataka koji su u skladu s Entity Frameworkom. Mogu se koristiti u Entity SQL upitu. Također, većina metoda proširenja u LINQ-u na entitete prevedene su u kanonske funkcije. Neovisni su o bilo kojoj određenoj bazi podataka. Kad davatelj podataka ADO.NET primi funkciju, prevodi je u željeni SQL izraz.[28]

Ali nemaju svi DBMS jednakovrijednu funkcionalnost i skup standardnih ugrađenih funkcija. Također postoje razlike u točnosti izračuna. Stoga nisu podržane sve kanonske funkcije za sve baze podataka i ne daju sve kanonske funkcije iste rezultate.[potreban je citat]

SkupinaKanonske funkcije[28]
Skupne funkcijeProsj., Veliki broj, Brojanje, Maks., Min., StDev, StDevP, Zbroj, Var, VarP
Matematičke funkcijeAbs, strop, pod, snaga, okrugli, prigušeni
String funkcijeConcat, Sadrži, Završava s, Indeks, Lijevo, Duljina, LTrim, Zamijeni, Obrni, Desno, RTrim, Podniz, StartsWith, ToLower, ToUpper, Trim
Funkcije datuma i vremenaAddMicroseconds, AddMilliseconds, AddSeconds, AddMinutes, AddHours, AddNanoseconds, AddDays, AddYears, CreateDateTime, AddMonths, CreateDateTimeOffset, CreateTime, CurrentDateTime, CurrentDateTimeOffset, CurrentUtcDateTime, dan, DayOfYear, DiffNanoseconds, DiffMilliseconds, DiffMicroseconds, DiffSeconds, DiffMinutes, DiffHours, DiffDays, DiffMonths, DiffYears, GetTotalOffsetMinutes, Hour, Millisecond, Minute, Month, Second, TruncateTime, Year
Bitovne funkcijeBitWiseAnd, BitWiseNot, BitWiseOr, BitWiseXor
Ostale funkcijeNewGuid

LINQ do entiteta

Pružatelj usluge LINQ to Entities omogućuje LINQ da se koristi za ispitivanje raznih RDBMS izvori podataka. Dostupno je nekoliko davatelja usluga specifičnih za poslužitelj baze podataka s podrškom za Entity Framework.[potreban je citat]

Izvorni SQL

U Entity Framework v4 nove metode ExecuteStoreQuery () i ExecuteStoreCommand () dodani su u razred ObjectContext.[potreban je citat]

Vizualizatori

Visual Studio ima značajku koja se naziva Visualizer. LINQ upit napisan u Visual Studiju može se gledati kao izvorni SQL pomoću Visualizatora tijekom sesije otklanjanja pogrešaka. Vizualizator za LINQ prema entitetima (objektni upit) koji cilja sve RDBMS dostupan je u "VisualStudioGallery".[29]

Profiler entitetskog okvira

Entity Framework Profiler je objektno-relacijski alat za mapiranje (ORM) koji će riješiti probleme s izvedbom u ASP.NET aplikacija koja koristi Entity Framework. Skenira uobičajene neučinkovitosti upita baze podataka poput problema SELECT N + 1.[30]

Vidi također

Reference

  1. ^ "Izdanja · dotnet / ef6 · GitHub".
  2. ^ "Izdanja · dotnet / efcore · GitHub".
  3. ^ Krill, Paul (20. srpnja 2012.). "Microsoft Open-Source Entity Framework". InfoWorld. Preuzeto 2012-07-24.
  4. ^ https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/ef/overview
  5. ^ ADO .NET Entity Framework Glasanje o nepovjerenju
  6. ^ "Ažuriranje Entity Framework-a u .NET 4 i Visual Studio 2010". Blog ADO.NET tima. 11. svibnja 2009. Arhivirano iz Izvorna dana 20. siječnja 2010. Preuzeto 1. studenog god. 2011.
  7. ^ "EF4.3.1 i EF5 Beta 1 dostupni na NuGetu". Blog ADO.NET tima. 29. veljače 2012. Arhivirano iz Izvorna dana 25. ožujka 2012. Preuzeto 27. ožujka, 2012.
  8. ^ "EF5 dostupan na CodePlexu". 11. kolovoza 2012.
  9. ^ "EF6 RTM dostupan". 17. listopada 2013. Arhivirano iz Izvorna dana 30.03.2014.
  10. ^ "Entitetski okvir - dom". 14. rujna 2016.
  11. ^ "Povijest verzije EF".
  12. ^ a b "EF7 - nove platforme, nove pohrane podataka". 19. svibnja 2014. Arhivirano iz Izvorna dana 29.09.2015.
  13. ^ "Dostupna je jezgra Entity Framework 1.0.0". 27. lipnja 2016.
  14. ^ Hanselman, Scott. "ASP.NET 5 je mrtav - predstavljamo ASP.NET Core 1.0 i .NET Core 1.0 - Scott Hanselman". www.hanselman.com. Preuzeto 2016-07-11.
  15. ^ "Najava .NET Core 2.0". .NET blog. 14. kolovoza 2017.
  16. ^ "Najava .NET Core 3.0". .NET blog. 23. rujna 2019.
  17. ^ https://docs.microsoft.com/en-us/ef/core/what-is-new/
  18. ^ https://www.nuget.org/packages/Microsoft.EntityFrameworkCore
  19. ^ "Entitetski model podataka". MSDN, Microsoft. 2. kolovoza 2012. Preuzeto 15. kolovoza god. 2013.
  20. ^ CSDL, SSDL i MSL specifikacije, MSDN, arhivirano od izvornika 08.11.2010, preuzeto 2010-12-06
  21. ^ Čarobnjak za model entiteta, MSDN, preuzeto 2010-12-06
  22. ^ Kogent Solutions Inc. (2009.), ASP.NET 3.5 Crna knjiga, Dreamtech Press, ISBN 81-7722-831-5
  23. ^ a b Jednostavni tipovi (EDM), MSDN, preuzeto 2010-12-06
  24. ^ Element složenog tipa (CSDL), MSDN, preuzeto 2010-12-06
  25. ^ Vrste konceptualnih modela, MSDN, preuzeto 2010-12-06
  26. ^ OnDelete element (CSDL), MSDN, preuzeto 2010-12-06
  27. ^ Fasete (CSDL), MSDN, preuzeto 2010-12-06
  28. ^ a b Kanonske funkcije (Entity SQL), MSDN, preuzeto 2010-03-29
  29. ^ VisualStudioGallery
  30. ^ "Entity Framework Profiler". hibernatingrhinos.com. Hibernacija nosoroga. Preuzeto 2020-05-20.

Bibliografija

vanjske poveznice

Pin
Send
Share
Send