U okviru ovog predstavljanja Entity Framework-a, daćemo i primer pozivanje stored procedura korišćenjem EF database first pristupa. Za potrebe ovog kratkog tutorijala koristimo besplatne Microsoft alate, Visual Studio - Community 2013 Edition i Microsoft SQL Server 2014 Express.
Kao dodatak tutorijalu, priložen je i fajl koji sadrži odgovarajući Transact-SQL kod. Posle preuzimanja fajla, kopirajte njegov sadržaj u novu sesiju Microsoft SQL Server Management Studija i izvršite kod. Skripta će na SQL Serveru kreirati EFArticlesDB bazu sa tri database objekta: dve tabele, Autori i AutorskiTekstovi popunjene test podacima i jednu stored proceduru: spGetArticlesByAutor.
Tabele sadrže podatke o autorima i tekstovima koji su objavili, a između tabela je definisana relacija. Stored procedura koju smo pomenuli, treba da vrati podatke o autorima i tekstovima i to tako da, ukoliko ne prosledimo argument pri pozivu procedure (exec dbo.spGetArticlesByAutor) ona će vratiti tekstove svih autora, a u suprotnom samo tekstove određenog autora (exec dbo.spGetArticlesByAutor 'mika mikic').
Prvi korak podrazumeva kreiranje nove WindowsForm aplikacije. Otvorite Visual Studio, odaberite File -> New -> Project i popunite formu kao na slici:
SQL Server EFArticlesDB baza, kreirana s početka tutorijala predstavlja kalup za kreiranje EF data modela. Selektujte matični projekat u Solution Explorer-u i odaberite stavku Add -> New Item. Popunite formu kao na narednoj slici i pritisnite dugme Add.
Ovime smo startovali čarobnjaka koji će nas voditi kroz proces kreiranja EntityFramework data modela. Odaberite “Generate from database” (naredna slika) i zatim Next.
U formi čarobnjaka odaberite stavku “New Connection” i popunite podatke neophodne za SQL Server autentifikaciju i autorizaciju (naredna slika).
Klikom na “OK” vraćamo se na formu Entity data modela (naredna slika):
Sledeće “Next” vodi do forme za izbor Entity Framework verzije. Treba selektovati verziju 6 i potom “Next” za sledeću formu i odabir database objekata koje ćemo uključiti u data model:
Kao što primećujete, selektovali smo sve tabele i stored procedure EFArticlesDB baze i klikom na “Finish” završićemo proces kreiranja data modela. Data model je fajl sa .edmx ekstenzijom i mi smo ga nazvali ArticlesDataModel.
Svaki objekat EFArticlesDB baze je u kreiranom EF data modelu predstavljen kao samostalni entitet. Entity Designer alat je integrisan u Visual Studio okruženje i omogućuje grafički interfejs za rad sa data modelom i njegovim entitetima. Model Browser (naredna slika) je sastavni deo Entity Designer-a.
Da bi smo videli sve raspoložive informacije o spGetArticlesByAutor stored proceduri, treba je selektovati u Model Browser-u i otvoriti dvoklikom. Aktiviraće se Windows forma sa detaljima kao na narednoj slici.
U ovoj formi možemo da promenimo naziv pod kojim će procedura biti vidljiva u data modelu ili tip podataka koje će vratiti. Sve stavke ostavljamo sa podrazumevanim vrednostima.
Pošto je Entity data model spreman, preostaje, da koristeći se Visual Studio paletom alata na Form1 windows formu prevučemo po jednu TextBox, Button i dataGridView kontrolu. Sve property-je ovih kontrola možete ostaviti sa podrazumevanim vrednostima. U Event Button kontrole treba uneti kod sa naredne slike.
Aplikaciju možemo da startujemo i proverimo da li se ponaša onako kako očekujemo. Ako text-box polje ostavimo prazno, klikom na dugme treba da dobijemo tekstove svih autora. Unošenjem imena autora koje postoji u bazi, aplikacija bi trebalo da vrati sve tekstove tog autora.
Kroz navedeni primer kreiranja Entity Framework procedure, grubo smo prezentovali način na koji EF funkcioniše. Za one koji smatraju da je ovo koristan alat i žele da prodube Entity Framework znanja i veštine, preporučujemo sajt: http://www.entityframeworktutorial.net/
Prilog: Transact-SQL primer
0 komentara