Data Access using Entity Framework

Preview:

Citation preview

Datu piekļuve ar Entity Framework

Ivars Āriņš

Darba kārtība

Kas ir ORM? Populārākās .NET ORM bibliotēkas Entity Framework apskats Pamatdarbības ar DB datiem Dažādas pieejas darbā ar EF Jautājumi

Darba kārtība

Kas ir ORM? Populārākās .NET ORM bibliotēkas Entity Framework apskats Pamatdarbības ar DB datiem Dažādas pieejas darbā ar EF Jautājumi

Kas ir ORM

Object-Relational Mapping Objektorientētās programmēšanas

tehnika lai konvertētu datus starp nesavietojamām tipu sistēmām. Rezultātā tiek izveidota «virtuāla objektu datubāze», kuru var izmantot programmēšanas valodā.

Galvenokārt izmanto kā datu glabātuves abstrakciju.

Kas ir ORM?

Kas ir ORM?

Darba kārtība

Kas ir ORM?Populārākās .NET ORM

bibliotēkas Entity Framework apskats Pamatdarbības ar DB datiem Dažādas pieejas darbā ar EF Jautājumi

Populārākās .NET ORM bibliotēkas ADO.NET Entity Framework, included in .NET

Framework 3.5 SP1 and above MyBatis, free open source, formerly named

iBATIS LINQ to SQL, included in .NET Framework 3.5 LLBLGen Pro, commercial NHibernate, open source SubSonic, open source Vairāk - http

://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#.NET

Darba kārtība

Kas ir ORM? Populārākās .NET ORM bibliotēkasEntity Framework apskats Pamatdarbības ar DB datiem Dažādas pieejas darbā ar EF Jautājumi

Entity Framework

ADO.NET tehnoloģiju kopa datu orientētas programmatūras izstrādes atbalstam

Ļauj izstrādātājiem strādāt ar datiem kā domēna objektiem (piem., klientiem un to adresēm), nesatraucoties par to, kā šie dati tiek glabāti datubāzē.

Nepieciešams .NET 3.5sp1 (vai jaunāks)

Entity Framework

Entity Framework vs DataSets Entity Framework ir «tulks» starp

objektiem un datubāzi. EF konteksta vaicājumi vienmēr tiek izpildīti datubāzē.

DataSet pēc būtības ir atmiņā esoša datubāze, kas tiek piepildīta ar datiem no datubāzes, ar kuriem tiek izpildītas tālākās manipulācijas.

Entity Framework vs Linq-to-Sql Linq-to-Sql atbalsta tikai vienkāršas

1:1 atbilstības starp datubāzes tabulām un objektiem

Linq-to-Sql atbalsta tikai MS SQL Server

EF ir pilnvērtīgs ORM rīks, kas spēj darboties ar sarežģītām relācijām un jebkuru DBVS kurai ir ADO.NET provider.

Darba kārtība

Kas ir ORM? Populārākās .NET ORM bibliotēkas Entity Framework apskatsPamatdarbības ar DB datiem Dažādas pieejas darbā ar EF Jautājumi

Pamatdarbības

Linq sintakse Objektu konteksts – klase, kas atbilst

ierakstu konteinerim (datubāzei). Satur DB pieslēguma informāciju un atbalstošo funkcionalitāti.

Pamatdarbības

Datu atlase

Datu pievienošana

Pamatdarbības

Datu izmainīšana

Datu dzēšana

Darba kārtība

Kas ir ORM? Populārākās .NET ORM bibliotēkas Entity Framework apskats Pamatdarbības ar DB datiemDažādas pieejas darbā ar EF Jautājumi

Pieejas darbā ar EF

Database First Model First Code First

Database First

Esoša datubāze EF izveido EDMX modeli no datubāzē

pieejamajiem metadatiem EF no EDMX modeļa uzģenerē klašu

struktūru Iespējams automātiski sinhronizēt

DB izmaiņas

Database First - demo

Model First

Datubāze vēl nav izveidota Datu struktūras tiek modelētas

izmantojot EF dizaineri Iespējams izveidot DB izveidošanas

skriptus Jāuzmanās ar manuālām izmaiņām

datubāzē Iespējams automātiski sinhronizēt

DB izmaiņas

Model First - demo

Code First

Visticamākais, datubāze vēl nav izveidota

Vispilnīgākā kontrole pār izveidoto kodu

Nav EDMX Iespējams izveidot DB izveidošanas

skriptus Jāuzmanās ar manuālām izmaiņām

DB Sinhronizācija ar DB izmaiņām ir

jāveic manuāli

Code First - demo

Jautājumi?

Kontakti

E-pasts: Ivars.arins@dotnet.lv Blogs: http://dotnet.lv/blogs/ia/ Twitter: PiRXlv

Paldies par uzmanību!