Entity framework i .net

Vidi vako... ti kad imaš neki program, moraš negde da čuvaš podatke. To su obično baze podataka gde su podaci poređani u nekakvim tabelama (slično kao tabele u excelu). Postoje i druge vrsta baza ali ove se najviše koriste. I onda kad se program koristi, on komunicira sa tom bazom i čita podatke i upisuje u nju. Za to se koristi poseban jezik koji se zove SQL. On nije težak za učenje ali može biti veoma složen, pogotovo ako ti trebaju podaci iz više tabela pa sve treba ukrstiti. Elem, onda su se neki lenji programeri dosetili da uproste stvari i sve nas poštede zezancije sa tim SQL jezikom i napravili Entity Framework koji ti omogućava da povežeš objekte u C# aplikaciji direktno sa podacima u bazi. I ti dalje sve radiš kroz C#, pristupaš podacima, čitaš, upisuješ... a taj EF sve to automatski u pozadini pretvara u SQL jezik i komunicira sa bazom. I to lepo radi, sa time su progremeri mnogo efikasniji u radu a cena je mali gubitak na performansama. SQL komande koje pravi EF nisu toliko optimizovane kako bi mogle da budu ako se prave manuelno, pa ako praviš aplikacije gde je brzina veoma bitna (realtime igre, berza, api sa multimilionskim pristupom u sekundi...) onda je bolje koristiti direktan pristup bazi. Za ostale (što čini cirka 90% programera), EF je mnogo dobra stvar koja značajna štedi na vremenu i povećava efikasnost programiranja.
 
Relacione baze podataka se zovu tako zato sto se podaci cuvaju u povezanim tabelama (dakle, postoje neke relacije izmedju podataka).

EF je skup klasa koji ti omogucuje da iz objektno orijentisanog jezika, razmjsljajuci kao programer koji je navikao na objektno orijentisano programiranje, manipulises relacionom bazom podataka na nacin na koji ti je blizak - dakle kao da radis sa obicnim objektima.

EF je dodatan nivo apstrakcije, sa mnogo "magije" ispod haube, i on ti omogucuje da mnoge stvari, kao programer, jako lako uradis.

Medjutim, mi smo skroz izbacili EF iz svih projekata, jer je dokazano mnogo sporiji od Dappera, a brzina nam je jako bitna u nasem softveru.

Ako volis sam da pises upite za SQL, a da opet imas neki mali nivo apstrakcije (taman toliko da ti kôd bude lepo čitljiv), moja topla preporuka je da koristiš Dapper biblioteku umesto EF-a.
 

Back
Top