Uvod u LINQ (LINQ serija - Dio 1)

Koriscenje podataka u web aplikacijama je znatno pojednostavljeno uvodjenjem .NET platforme. ADO.NET je dio .NET platforme (framework-a) koji je  posvecen interakcijom sa spremistem podataka. Posto je programiranje funkcija za koriscenje podataka vjerovatno jedan od najdosadnijih zadataka na svijetu a vrsi se uglavnom po ustaljenoj shemi (CRUD - Create, Retrieve,Update,Delete), vrlo brzo su se pojavili programi za automatiziranje ovih zadataka kao sto su "Code generators" i "OR mappers". Moji omiljeni su bili LLBL i LLBL Pro-  kreacije Frans Bouma-e, programera iz Den Haag-a, Holandije-Nizozemske.

 Microsoft je konacno prihvatio ovaj pristup i u poslednjoj verziji .NET platforme dodao novu tehnologiju za rad sa spremistem podataka nazvanu LINQ (Language Integrated Queries).

Osnove LINQ-a

Osnove LINQ-a su u novim jezickim dodacima VB.NET-u i C#-u:

1. Anonymouse types - koristan za liLINQ, omogucava deklaraciju variabli bez deklarisanja type-a, koji posredno pripisan variabli
2. Extension methods - dodavanje novih metoda postojecim CLR type-ovima bez potrebe za subclass - ing ili ponovne kompilacije type-a, veoma vazan za LINQ
3. Automatic properties - vazi samo za C# nije toliko bitan za LINQ, sintaksna kratica za C# properties
4. Object and collection intializers - kratica za inicializaciju novih objekata i kolekcija, koristan za LINQ
5. Lambda expressions - omugucuju "in-line"koriscenje funkcija, produzetak je "anonymouse method" iz C# 2.0, veoma korisno za LINQ sintaksu

Ove jezicke dodatke cemo obraditi u posebnim postovima a sada cemo da se koncentrisemo na LINQ Query Syntax (sinatksu koriscenja podataka). Ukazacu na ove nove dodatke jezicima kada se pojave u primjerima.

LINQ se dijeli u varijante (LING generalne funkcije,DLINQ za komunikaciju sa bazama podataka,XLINQ za manipulisanje XML spremista), mi cemo koristiti SQL Server pa cemo koristiti LINQ to SQL object relational mapper u nasim primjerima.

 Modeliranje Baze podataka sa LINQ to SQL

Recimo da zelimo da kreairamo jednu e-commerce aplikaciju sa online katalogom. Koristicemo Visual Web Developer 2008 SP1 Express Edition (VWD u daljem tekstu) pa ako ga jos niste instalirali mozte ga snimiti sa sijedece lokacije:

http://www.microsoft.com/express/download/

Takodjer prilikom instalacije izaberite opciju da instalirate SqlServer 2008 Express

Startujte VWD i kreirajte novi ASP.NET Web Aplication projekat (File->New Project->Visual C#->ASP.NET Web Aplication), i ukucajte ime projekta kao na slici:

VWD ce kreirati novi ASP.NET Web projekat. Kliknite desnim dugmetom misa na App_Data folder u Solution Explorer boksu i iz kontekst meni-ja izaberite Add-> New_Item->SQL Server Database kao na slici:

 

Kliknite na Database explorer tab i pod MaliDucan.mdf naci ce te Tables node. Kliknite desnim dugmetom misa i iz meni-ja izaberite Add New Table i dodajte novu tabelu kao na slici i snimite je pod imenom Proizvod:



Ponovite proces za jos tri tabele po redoslijedu Kategorija, Narudzba, JedinicaNarudzbe:

 



Kreiranje "Primary keys" (primarnih kljuceva) i "Foreign keys" (stranih kljuceva) je vrlo jednostavno na osnovu imena stavki u tabelama. Mozete isto tako da snimite sql fajl koji  ce da vam kreira bazu podataka i doda podatke u bazu podataka Kliknite na link MaliDucan.sql (9.35 kb) da snimite sql fajl, a zatim ga startujte u Query Analyzer.

Na kraju treceg nastavka moci ce te i da snimite citavu soluciju zajedno sa bazom podataka, pa ako imate strpljenja ne morate sada da kreirate bazu podataka. 

U iducem postu cemo da se pozabavimo sa LINQ vizuelnim dizajner-om i DataContext class.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comments