Poti incepe de aici: http://en.wikipedia.org/wiki/Language_Integrated_Query
Si poti continua cu sectiunea External links.
Prezentare: LINQ Project Overview
Precizari:
[1] LINQ este doar o extensie care va fi prezenta (e prezenta) in mai multe limbaje de programare (exemplu: C#, Visual Basic.Net din VS 2008, etc.) care permite interogarea facila a datelor(obiectelor) tip colectie, vectori, etc.
[2] LINQ pur si simplu nu are nimic a face cu solutiile de tip "asociere obiect / relational" (Object / Relational Mapping). O mica observatie: de regula se foloseste abrevierea O/RM , abrevierea ORM provenind din expresia Object Role Modeling (care este alta poveste).
http://en.wikipedia.org/wiki/Object-relational_mapping
http://en.wikipedia.org/wiki/Object_role_modeling
[3] Probabil ca te intereseaza LINQ to SQL (sau DLINQ) care este solutia prin care se poate asigura persistenta obiectelor permitand in primul rand salvarea si refacerii starii obiectelor in/dintr-o baza de date SQL Server.
Prezentare: LINQ to SQL: .NET Language-Integrated Query for Relational Data
plus
LINQ to SQL
plus
Object Relational Designer (O/R Designer)
Opinie (personala se subintelege): DLINQ vine din pacate multe prea tarziu pentru platforma .Net / VS.NET ! In 2008 vom fi la a IV-a versiunea de Visual Studio (2002, 2003, 2005 si 2008). Daca MS ar fi prezentat DLINQ concomitent cu VS 2002 POATE (CRED) ca ar fi fost altceva. Din pacate cu toate facilitatile in materie de programare orientata pe obiecte din limbajul C# (in mod special, si nu numai) VS.NET nu a reusit (repet: este opinie) sa produca o schimbare in mentalitatea dezvoltatorilor (arhitecti, programatori, etc.) promovand PUTERNIC arhitectura 3-layer implementata obiectual . Stilul de programare "behind forms" (scuze, dar nu am gasit o traducere acceptabila) din VB <=6 s-a propagat (din pacate) si in VS.NET. Si asta in primele randuri din lipsa unei solutii integrate in limbaje (C# si VB.NET in special) sau/si in IDE pentru asigurarea persistentei.
LINQ to SQL, ca de altfel majoritatea solutiilor O/RM pentru .NET (cel putin) sufera TOTUSI la capitolul interogari tip selecţie a obiectelor (obiecte ca instante a claselor de obiecte) pentru obtinerea unui rezultat sub forma unui graf de obiecte (ex. Factura -> Client relatie 1-1 plus Factura -> ProdusFacturat relatie 1 - n plus ProdusFacturat -> Produs relatie 1-1 ) si ... Dar asta este o alta poveste.