duminică, 25 noiembrie 2007

Cum sa generati clasele pentru LINQ to SQL

Daca vreti sa folositi LINQ to SQL in proiectul vostru, atunci fie va scrieti propriile clase pe care sa le mapati la modelul relational al tabelelor voastre, fie generati automat aceste clase.

Prima solutie e un exercitiu pentru cine vrea sa intre in detalii si sa inteleaga mai bine cum functioneaza LINQ: http://msdn2.microsoft.com/en-us/library/bb425822.aspx.

Varianta insa cea mai simpla, cea mai rapida, si la indemana tuturor, e ca object model-ul sa fie generat automat... iar aceasta poate fi facuta in doua moduri:

1. din Visual Studio 2008 se poate folosi O/R Designer-ul care este foarte usor de utilizat pentru ca permite drag & drop din Server Explorer in designer exact a entitatilor (tabele, view-uri, sp-uri sau functii) pe care vrem sa le folosim in proiectul nostru.

- click dreapta proiect -> Add New Item -> alegeti "LINQ to SQL classes"



- dupa ce s-a deschis editor-ul, navigati in Server Explorer la tabelele, view-urile, sp-urile sau functiile pe care vreti sa le folositi si le adaugati la model:

2. a doua varianta e sa folosim SQLMetal din command prompt-ul de la Visual Studio. Avantajul folosirii acestui tool e ca nu avem nevoie de Visual Studio instalat, el instalandu-se odata cu Windows SDK sau Visual Studio SDK.

Un exemplu de cum putem folosi aceasta comanda:

>sqlmetal
/server:sqlserver
/database:northwind
/user:sa /password:pass
/code:path\file.cs
/language:csharp

In plus se mai pot folosi urmatoarele optiuni:
/views -> pentru a adauga la model si view-urile din DB.
/sprocs -> pentru a genera procedurile.
/functions -> pentru a genera functiile.

Niciun comentariu: