Data Access using Entity Framework
Transcript of Data Access using Entity Framework
![Page 1: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/1.jpg)
Datu piekļuve ar Entity Framework
Ivars Āriņš
![Page 2: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/2.jpg)
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
![Page 3: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/3.jpg)
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
![Page 4: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/4.jpg)
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.
![Page 5: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/5.jpg)
Kas ir ORM?
![Page 6: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/6.jpg)
Kas ir ORM?
![Page 7: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/7.jpg)
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
![Page 8: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/8.jpg)
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
![Page 9: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/9.jpg)
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
![Page 10: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/10.jpg)
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)
![Page 11: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/11.jpg)
Entity Framework
![Page 12: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/12.jpg)
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.
![Page 13: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/13.jpg)
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.
![Page 14: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/14.jpg)
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
![Page 15: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/15.jpg)
Pamatdarbības
Linq sintakse Objektu konteksts – klase, kas atbilst
ierakstu konteinerim (datubāzei). Satur DB pieslēguma informāciju un atbalstošo funkcionalitāti.
![Page 16: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/16.jpg)
Pamatdarbības
Datu atlase
Datu pievienošana
![Page 17: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/17.jpg)
Pamatdarbības
Datu izmainīšana
Datu dzēšana
![Page 18: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/18.jpg)
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
![Page 19: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/19.jpg)
Pieejas darbā ar EF
Database First Model First Code First
![Page 20: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/20.jpg)
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
![Page 21: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/21.jpg)
Database First - demo
![Page 22: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/22.jpg)
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
![Page 23: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/23.jpg)
Model First - demo
![Page 24: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/24.jpg)
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
![Page 25: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/25.jpg)
Code First - demo
![Page 26: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/26.jpg)
Jautājumi?
![Page 27: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/27.jpg)
Resursi
Entity Framework MSDN lapa -http://msdn.microsoft.com/en-US/data/ef
Entity Framework terminoloģija - http://msdn.microsoft.com/en-us/library/bb387161.aspx
ORM saraksts wikipēdijā - http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#.NET
Materiāli - http://sdrv.ms/ZeaSd3
![Page 29: Data Access using Entity Framework](https://reader034.fdocuments.net/reader034/viewer/2022042604/58a454801a28ab55068b5c05/html5/thumbnails/29.jpg)
Paldies par uzmanību!