I BOB. LINQ texnologiyasi haqida umumiy ma’limot va NET Framework tillarida LINQ texnologiyasi 1.1C# dasturlash tilida LINQ texnologiyasi tavsifi LINQ texnologiyasi tushunchasining mohiyati va qaysi jabhalarda biz bu texnologiyaga murojaat qilishimizga to’g’ri kelishini yaxshiroq tushunib olish maqsadida , avvalo, ushbu texnologiya aslida nima ekanligiga to’xtalib o’tishimiz kerak.LINQ - Language Integrated Query – dasturlash tiliga asoslangan so’rovlar majmui bo’lib, so’rovlar tizimining aniqligiga asoslanadi.An’anaga ko’ra, ma’lumotlarga qarshi so’rovlar kompilyatsiya vaqtida yoki IntelliSense qo’llab-quvvatlashida tip tekshiruvlarisiz oddiy satrlar sifatida ifodalanadi. Bundan tashqari, har bir ma’lumot manbasi uchun boshqa so’rovlar tilini o’rganish talab etiladi: SQL ma’lumotlar bazalari, XML hujjatlari, turli veb-xizmatlar va boshqalar. LINQ texnologiyasiga asoslangan so’rov sinflar, metodlar, maydonlar kabi birinchi darajali til qurilmasi bo’lib hisoblanadi.Foydalanuvchi tegishli tilning kalit so’zlari va tanish operatorlaridan foydalangan holda yozilgan ob’ektlar to’plamiga qarshi so’rovlarni yozadi. LINQ texnologiyalar oilasi ob’ektlar (LINQ to Objects), relyatsion ma'lumotlar bazalari (LINQ to SQL) va XML (LINQ to XML) uchun izchil so'rovlar tizimini ta’minlaydi. So'rovlar ustida ishlovchi dasturchi uchun LINQ ning eng ko'zga ko'ringan "dasturlash tili bilan birlashtirilgan"(languagr integrated) qismi - so'rov ifodasidir(query expression). So'rov ifodalari deklarativ so'rov sintaksisida yoziladi. So'rovlar sintaksisidan foydalanib, eng kam kodli ma'lumotlar manbalarida filtrlash, tartiblash va guruhlash operatsiyalarini bajarilishi mumkin. SQL ma'lumotlar bazalari, ADO.NET ma'lumotlar to'plamlari, XML hujjatlari va oqimlari va .NET to'plamlaridagi ma'lumotlarni so'rash va o'zgartirish uchun bir xil asosiy so'rov ifodalari qoliplaridan foydalaniladi. SQL Server ma'lumotlar bazalari, XML hujjatlari, ADO.NET ma'lumotlar to'plami va IEnumerable yoki umumiy IEnumerable interfeysini qo'llab-quvvatlaydigan har qanday ob'ektlar to'plami uchun LINQ so'rovlarini C# tilida yozilishi mumkin.Quyidagi misolda so'rovning to'liq ishlashi ko'rsatilgan. To'liq operatsiya ma'lumotlar manbasini yaratish, so'rov ifodasini aniqlash va so'rovni foreach operatoridan foydalanib bajarishni o'z ichiga oladi:
// Specify the data source.
int[] scores = { 97, 92, 81, 60 };
// Define the query expression.
IEnumerable scoreQuery =
from score in scores
where score > 80
select score;
// Execute the query.
foreach (int i in scoreQuery)
{
Console.Write(i + " ");
}
// Output: 97 92 81
Visual Studio dan quyidagi rasmda to'liq turdagi tekshirish va IntelliSense qo'llab-quvvatlashi bilan C# va Visual Basic tillarida SQL Server ma'lumotlar bazasiga nisbatan qisman bajarilgan LINQ so'rovi ko'rsatilgan: