Tarayıcınız JavaScript! desteklememektedir.

Linq (Language Integrated Query) Nedir?

Merhaba Arkadaslar,

Linq (Language Integrated Query) Türkçe anlami (Dil ile bütünlesmis sorgu), Visual Studio 2008, .NET Framework 3.5 ile aramiza katilan, nesneler üzerinde bulunan verileri (iliskisel ya da iliskisel olmayan) hizlica sorgulamamiza yarayan sorgulama dili ya da araci diyebiliriz. Aslinda Linq kullanan tüm yazilimcilar tarafindan farkli tanimlanmaktadir. Kimine göre SQL sorgularini basitlestiren bir araç, kimine göre XML sorgularini yaptigi muazzam bir sorgulama dili.
Siz de kullandikça taniminini yaparsiniz :)

Linq 5 ana konu basliginda incelenebilir;

1) Linq to Objects
Bellek üzerinde olusturulan koleksiyonlari sorgulamak için kullanilir.
2) Linq to Sql
SQL Server üzerindeki tablolari sorgulamak için kullanilir.
3) Linq to DataSets
Olusturdugumuz Ado.Net DataSet nesnelerini sorgulamak için kullanilir.
4) Linq to DataTable
Olusturdugumuz Ado.Net DataTable nesnelerini sorgulamak için kullanilir.
5) Linq to XML
XML Verilerini sorgulamak için kullanilir.
6) Linq to Entity
Olusturdugumuz Ado.Net Entity Framework nesnesini sorgulamak için kullanilir.

Linq yukarida belirtilen sorgulamalar için kullanilir. Sorgulamadan kastim sadece Select islemi degil, Update-Delete-Insert islemleri için de geçerli.?

***Linq to Sql ile baglanti kurdugumuzda, projemize .DBML uzantisi ile gelecektir.
***Veritabanimizda ki her bir tablo Class olarak projemize eklenecektir. 


***** 5 yildizli bir bilgi olabilecegini düsündügüm için 5 yildiz koydum;
Linq önemli bir ORM aracidir ve Object Oriented Programming'i tamamen desteklemektedir. Linq'e baslamadan önce mutlaka Object Oriented Programming'e hakim olmanizi öneririm. Hakim olmasaniz da en azindan Class yapisini, Class türlerini bilmenizi öneririm.

***Bize sundugu en önemli avantaj, ADO.NET ile uzun uzun yazmak zorunda kaldigimiz sorgulari çok daha kisa kod yazarak tamamlayabiliyor olmamiz.
Gerçi Linq to Sql ile Select islemi baslikli makalemde bu konuyu anlattim ama burada kisaca söyle özetleyebilirim, 
* Baglantiyi açip kapatmiyoruz, Linq bu islemi kendi kendine hallediyor.
* SqlConnection, SqlCommand nesnelerini tanimlama derdinden kurtulmus oluyoruz.
 

ADO.NET, Entity Framework, Linq to Sql üçgeni yazilimcilar için her proje baslangicinda soru isareti olmakta. Acaba bu projede hangisini kullansam ?
Netice itibari ile Linq ve ya Entity Framework ile olusturdugumuz her sorgu Sql Profiler kisminda ADO.NET Sorgusuna çevriliyor ve Sql Management Studio'ya o sekilde iletiliyor.