8-ma’ruza. Linq soʻrovlar



Download 0,75 Mb.
Pdf ko'rish
Sana17.01.2022
Hajmi0,75 Mb.
#380553
Bog'liq
8-maruza



8-ma’ruza. LINQ soʻrovlar  

 



LINQ qanday ishlaydi? 

 



LINQ query yozish usullari 

 



IEnumerable va IQuerable 

 



LINQ operatorlari 

LINQ qanday ishlaydi? 

LINQ  ma'lumotlar  bazasiga  (data  source)ga  murojaatlar  yuborish  va 

ma'lumotlarni qayta ishlash uchun xizmat qiladi. LINQ so'rovlar (query) ma'lumotlar 

manbasi turlariga qarab bo'limlarga bo'linadi: 

 

Misol tariqasida eng oddiy so'rov turini ko'rib chiqamiz: 




 

Tepadagi  kodda  LINQ so'rov  yordamida  to'plam  elementlari  orasidan 80  dan 

kattalaridan yangi to'plam hosil qilindi va ekranga chiqarildi. 

LINQ query yozish usullari 

Galdagi  mavzuyimizda 

LINQ 


da 

query 


yozish  usullari  ko'rib  chiqamiz.  C# 

tilida 


query

larni  yozishning  3  xil  usullari  mavjud.  Har  bir  usulning  o'ziga  yarasha 

kerakli tomonlari mavjud: 

1. Query Syntax 

2. Method Syntax 

3. Mixed Syntax (Query + Method) 

Birinchisidan boshlaymiz: 

Query Syntax 

usuli har qanday murakkab querylani 

oson,  tushunishga  qulay  va  sodda  ko'rinishga  ega  usul  hisoblanadi.  Bu  usul  ko'p 

hollarda  SQL  queryga  juda  o'xshab  ketadi.  Quyida  siz  ushbu  usulning  sintaksisini 

ko'rishingiz mumkin: 




 

Ikkinchisidan davom  ettiramiz: 

Method  Syntax 

bugungi  kunda  eng  mashhur 

usullardan  hisoblanadi  (serioz).  Chunki  ko'pgina  murakkab  vazifalarni  ushbu  usul 

bilan osonlikcha hal qilsa bo'ladi. Bu usul sintaksisi o'qishga juda oson hisoblanadi 

(ko'pchilik  dasturchilar  tomonidan  tasdiqlangan).  Lekin  murakkab 

query


lar  uchun 

ushbu usulni 

Query Syntax

ga nisbatan yozish birmuncha qiyin. Bu usulda 

query 

bir 


necha metodlar (albatta nuqta(.)) bilan aralashgan holda yoziladi. Quyida sintaksisini 

ko'rishingiz mumkin:  

Uchinchisi bilan tugatamiz: Mixed Syntax. Bu usul joriy usullar, Query Syntax 

va  Method  Syntaxlarning  kombinatsiyasi  desak  adashmaymiz.  Ushbu  usul  bilan 

querylarni yozish bir muncha osonlashishi mumkin. Sintaksisi quyidagicha  

  

Agarda 10 daqiqa vaqtingizni diqqat bilan ushbu maqolaga sarflasangiz, demak 



siz hech qachon 

query 


yozish usullarida qiyinchiliklarga duch kelmaysiz!  


 

IEnumerable va IQuerable 

LINQ  so`rovlarda  qaytish  tipi  aniq  bo`lmagan  holatlarda  ularni  to`plam 

holatida  qabul  qilib  olish  uchun  IEnumerable  interfeysidan  foydalaniladi.  Ushbu 

interfeys  System.Collection  namespace  da  joylashgan.  IEnumerable  C#  dasturlash 

tilidagi  barcha  to`plamlar  bilan  ishlay  oladi.  Ushbu  toifadagi  to`plam  elementlariga 

itteratorlik  murojaat  mavjud  bo`lgani  uchun  bemalol  foreach  takrorlanish  operatori 

yordamida  elementlarni  olishimiz  mumkin  bo`ladi.  IEnumerable  umumiy  tiplar 

uchun IEnumerable ko`rinishda ham murojaat qilish mumkin.  



 

IQuerable  ham  interfeys  bo`lib  u  System.Linq  namespace  da  joylashgan. 

IQuerable  interfeysi  IEnumerable  interfeysidan  olingan  vorisdir.  IQuerable 

Provayderlik  hususiyatiga  ham  ega.  Ushbu  hususiyat  IQueryProvider  deb 

nomlanadi.IQueryProvider  LinqProviders  dan  foydalanadi.  IQuerable  boshqa 

provayderlar bilan ishlash jarayonida eng yaxshi ko`makchi bo`la oladi (chunki tezlik 

jihatdan IEnumerable ko`ra tezroq ishlaydi). 

 



LINQ operatorlari 

Operatorlar  LINQ  yozish  jarayonida  ishlatiladigan  metodlardir.  Bu  metodlar 

ko`plab imkoniyatlarni o`z ichiga oladi. 

Misol uchun: 

 

Ma'lumotlarni filtirlash (Filter the data) 



 

Tartiblash (Order the data 



 

va boshqalar... 



LINQ operatorlari quyidagi bo'limlarga bo'lingan 

1. Sorting Data 

2. Set Operations 

3. Filtering Data 

4. Quantifier Operations 

5. Projection Operations 

6. Partitioning Data 

7. Grouping Data 

8. Equality Operations 

9. Element Operations 

10. Converting Data Types 

11. Concatenation Operations 

12. Aggregation Operations 

13. Generation Operations 

14. Join Operations 

Select 


Select  operatori  yordamida  ma'lumotlar  bazasidan  ma'lumotlarni  tanlab  olib 

yangi to'plam hosil qilish uchun ishlatiladi. Yaratilgan yangi to'plam bilan bajarilgan 

holatlar ma'lumotlar bazasiga ta'sir o'tkazmaydi. Tanlashni bir necha usullarini ko'rib 

o'tamiz: 

 



 


 


 

SelectMany 

To’plam elementlarini IEnumerable ga o’zlashtiradi va hosil bo’lgan ketma – 

ketlikni bitta kesamdek tasvirlaydi. 

Method ko’rinishi: 

 

Query ko



rinishi o`zi aslida vajud emas lekin quydagi ko

rinishda ifodalash 



mumkin: 


 

Asosan quydagi holatlar uchun ko’proq ishlatiladi: 

 

 

SelectMany  bizga  asosan  ichma  –  ich  ro’yhatlar  bilan  ishlashda  qo’l  keladi. 



Query  syntaxdan  ko’ra  method  syntaxdan  foydalanishni  tavsiya  beraman  chunki 

query uchun SelectMany yo’q ichma ich tanlab kirishga to’g’ri keladi. 




Foydalanish uchun tavsiya etiladigan adabiyotlar 

1.

 



Троелсен  Эндрю,  Джепикс  Филипп.  Язык  программирования  C#  7  и 

платформы .NET и .NET Core. Вильямс. 2018 

2.

 

Албахари  Бен,  Албахари  Джозеф.  C#  7.0.  Справочник.  Полное 



описание языка. Пер. с англ.-СПб: “Альфа-книга”, 2018, -1024 с. 

3.

 



Ю.С. Магда C#. Язык программирования Си Шарп. – Изд. ДМК Пресс, 

2013, 190 с. 

4.

 

Лабор  В.В.  C#:  Создание  приложение  для  Windows.  –  Мн.:  Харвест, 



2003, 384 с. 

5.

 



https://metanit.com/sharp/tutorial/4.3.php

  

 



 


 

Download 0,75 Mb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish