27.03.2015. ·
3 min

Primer pozivanje stored procedura korišćenjem EF database first pristupa

Primer pozivanje stored procedura korišćenjem EF database first pristupa

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:

slika1

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.

slika2

Ovime smo startovali čarobnjaka koji će nas voditi kroz proces kreiranja EntityFramework data modela. Odaberite “Generate from database” (naredna slika) i zatim Next.

slika3

U formi čarobnjaka odaberite stavku “New Connection” i popunite podatke neophodne za SQL Server autentifikaciju i autorizaciju (naredna slika).

slika4

Klikom na “OK” vraćamo se na formu Entity data modela (naredna slika):

slika5

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:

slika6

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.

slika7

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.

slika8

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.

slika9

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.

slika10

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

Oceni tekst

4
4 glasa
Branislav Kolar, Vladimir Blagojević Branislav Kolar, Vladimir Blagojević

<strong>Branislav Kolar</strong> se bavi sistemskom administracijom na Windows operativnim sistemima i drugim tehnologijama koje su neophodne za održavanje IT okruženja. Redovno prati IT događanja i zavisnik je od testiranja novih proizvoda. <strong>Vladimir Blagojević</strong> je Sertifikovani Microsoft programer i administrator, pre svega IT entuzijasta. Pomalo neopredeljenog usmerenja - od programiranja do administracije, radi sa Linux, Open-source i Microsoft tehnologijama.

0 komentara