Se afișează postările cu eticheta LINQ. Afișați toate postările
Se afișează postările cu eticheta LINQ. Afișați toate postările

vineri, 5 iunie 2009

Hierarchyid in LINQ to SQL

Acum mai bine de un an am scris un articol despre unul din tipurile noi de date aparute in MS SQL 2008: hierarchyid.

Recent am avut nevoie de o astfel de tabela si mi-am propus sa-l folosesc... insa surpriza, la generarea claselor LINQ to SQL tipul hierarchyid nu este suportat de catre designer. Mai jos este un screenshot cu eroarea designer-ului din Visual Studio 2008:


Am incercat acelasi lucru si in Visual Studio 2010 Beta 1... am facut un proiect de test si aceeasi problema: eroare de "unsuported type" la generarea claselor linq to sql:

Cum hierarchyid este de fapt un tip CLR avand in spate clasa SqlHierarchyId din Microsoft.SqlServer.Types.dll, ma astept ca la urmatorul service pack de Visual Studio 2008, respectiv versiunea finala de Visual Studio 2010, sa pot folosi designer-ul de linq to sql si pentru hierarchyid.

vineri, 17 octombrie 2008

Carti gratis de la Microsoft




















Pana pe 22 Octombrie Microsoft ofera gratis 3 carti in format electronic... deci nu ratati ocazia si downloadati-le ACUM
Programming Microsoft LINQ by Paolo Pialorsi and Marco Russo
Introducing Microsoft Silverlight 2, Second Edition by Laurence Moroney
Programming Microsoft ASP.NET 3.5 by Dino Esposito

Update: multumesc lui Emi care mi-a atras atentia - cartile nu sunt complete!!:( De exemplu "Introducing Silverlight 2" are doar primele doua capitole, "Programming LINQ" are cap. 6 si 16, "Programming ASP.NET 3.5" are cap. 3 si 18.

Atunci la ce bun mesajul "Sign up now to download all of the chapters"???

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.