Delegate void Message


Obyektlarga LINQ texnologiyalarini qo’llash


Download 184.94 Kb.
bet4/11
Sana16.06.2023
Hajmi184.94 Kb.
#1516542
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Amaliyot ishi Dasturlash texnologiyalari

Obyektlarga LINQ texnologiyalarini qo’llash.
LINQ (Language-Integrated Query) – berilganlar bazasi so’rovi uchun oddiy va qulay til. Berilganlar bazasi IEnumerable interfeysini (masalan, standart to'plamlar, massivlar), DataSet, XML hujjatini amalga oshiradigan ob'ekt bo'lishi mumkin. Lekin baza turidan qat'i nazar, LINQ barchaga ma'lumotlarni olishda bir xil yondashuvni qo'llash imkonini beradi.
LINQ ning bir nechta ko’rinishlari mavjud:

  1. LINQ to Objects: massivlar va kolleksiyalar bilan ishlash uchun ishlatiladi

  2. LINQ to Entities: Entity Framework texnologiyasi orqali ma'lumotlar bazalariga kirishda foydalaniladi

  3. LINQ to XML: XML fayllari bilan ishlashda foydalaniladi

  4. LINQ to DataSet: DataSet obyekti bilan ishlashda foydalaniladi

  5. Parallel LINQ (PLINQ): parallel so'rovlarni bajarish uchun ishlatiladi

LINQ funksiyalarining asosiy qismi System.LINQ nom maydonida joylashgan. .NET 6 loyihalarida bu nom maydoni standart bo’yicha qo’shilgan.
LINQ ning qulayligi nimada? Keling, eng oddiy misolni ko'rib chiqaylik. Massivdan ma'lum bir harf bilan boshlanadigan satrlarni, masalan, "T" harfini tanlaymiz va olingan ro'yxatni tartiblaymiz:
string[] people = { "Tom", "Bob", "Sam", "Tim", "Tomas", "Bill" };
var selectedPeople = new List();
foreach (string person in people)
{
if (person.ToUpper().StartsWith("T"))
selectedPeople.Add(person);
}
selectedPeople.Sort();
foreach (string person in selectedPeople)
Console.WriteLine(person);
Filtrlangan qatorlar uchun maxsus ro'yxat tuziladi. Keyin, tsiklda biz massivning barcha elementlarini ko'rib chiqamiz va agar ular shartga javob bersa (T harfi bilan boshlanadi), biz ularni ushbu ro'yxatga qo'shamiz. Keyin ro'yxatni o'sish tartibida tartiblang. Va oxirida, olingan ro'yxatning elementlari konsolda ko'rsatiladi:

Garchi bu yondashuv yaxshi ishlasa-da, LINQ intuitiv va ixcham sintaksis yordamida kodni sezilarli darajada kamaytirish imkonini beradi.
To'plamlar bilan ishlashning ikki yo'li mavjud:

  1. LINQ so'rov operatorlari

  2. LINQ kengaytirish usullari

Ikkala yo'lni ham ko'rib chiqing
LINQ so'rovi operatorlari qaysidir ma'noda SQL so'rovlari sintaksisiga o'xshaydi, shuning uchun agar siz SQL so'rovlari bilan ishlagan bo'lsangiz, umumiy tushunchani tushunish osonroq bo'ladi. Shunday qilib, LINQ so'rov operatorlari yordamida oldingi misolni o'zgartiramiz:
string[] people = { "Tom", "Bob", "Sam", "Tim", "Tomas", "Bill" };
var selectedPeople = from p in people
where p.ToUpper().StartsWith("T")
orderby p
select p;
foreach (string person in selectedPeople)
Console.WriteLine(person);
Avvalo, biz ko'rib turganimizdek, kod kichikroq va soddalashdi va natija bir xil bo'ladi. Umuman olganda, butun ifoda bir qatorda yozilishi mumkin:
var selectedPeople = from p in people where p.ToUpper().StartsWith("T") orderby p select p;
Ammo aniqroq mantiqiy bo'linish uchun men har bir alohida pastki ifodani alohida qatorga qo'ydim.
Eng oddiy LINQ so'rovi ta'rifi quyidagicha ko'rinadi:

Download 184.94 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling