دوره آموزشی راهنمای کامل NET LINQ.: جستجو در مجموعهها، پایگاههای داده و مارکآپ
7 ساعت 34 دقیقهمتوسط2025-05-02
مدرسین

Walt Ritscher
Programmer, UI Designer, Staff Instructor at LinkedIn Learning

Learn-it Labs
جزئیات دوره
تو این دوره کامل و جامع، والت ریچِر بهت دنیای جذاب و قدرتمند LINQ در داتنت رو نشون میده.
اول با قواعد و سینتکس LINQ آشنا میشی و بعد یاد میگیری چطوری با اپراتورهای متنوعش راحتتر و سریعتر بتونی دادهها رو از منابع مختلف مثل شیءهای حافظه، دیتابیسها و فایلهای XML مدیریت کنی.
میفهمی که چطوری با LINQ to Objects میتونی مجموعهها رو بهینه و کارآمد اداره کنی، چطوری با LINQ to Entities به دادههای ساختاریافته پایگاه داده دسترسی پیدا کنی و با LINQ to XML و LINQ to JSON چطور اطلاعات سلسلهمراتبی رو به آسانی بخونی و دستکاری کنی.
حتی تکنیکهای پیشرفته مثل اجرای تعویقی (deferred execution) و درختهای عبارت (expression trees) رو یاد میگیری که باعث میشن کدهات هم سریعتر باشن و هم خواناتر و قابل نگهداریتر.
چه با دادههای رابطهای کار کنی، چه برنامههایی بسازی که به شدت وابسته به داده هستن، یا بخوای دادههای متنوع و پیچیده رو مدیریت کنی، مسلط شدن به LINQ حسابی کارت رو راحت میکنه و باعث میشه کد تمیزتر و قابل فهمتری داشته باشی.
🎯 اهداف یادگیری:
آشنایی کامل با سینتکس و قواعد LINQ در داتنت.
استفاده از اپراتورهای متنوع LINQ برای جستجو، تغییر و دستکاری دادهها.
مدیریت بهینه مجموعه دادهها با LINQ to Objects.
دسترسی به دادههای ساختاریافته پایگاه داده با LINQ to Entities.
کار با دادههای سلسلهمراتبی در XML و JSON از طریق LINQ.
یادگیری تکنیکهای پیشرفته مثل deferred execution و expression trees.
توانایی فیلتر، مرتبسازی، گروهبندی و تجمیع دادهها به شکلی ساده و مؤثر.
نوشتن کدهای قابل فهم، پاک و قابل نگهداری با بهرهگیری از LINQ.
اول با قواعد و سینتکس LINQ آشنا میشی و بعد یاد میگیری چطوری با اپراتورهای متنوعش راحتتر و سریعتر بتونی دادهها رو از منابع مختلف مثل شیءهای حافظه، دیتابیسها و فایلهای XML مدیریت کنی.
میفهمی که چطوری با LINQ to Objects میتونی مجموعهها رو بهینه و کارآمد اداره کنی، چطوری با LINQ to Entities به دادههای ساختاریافته پایگاه داده دسترسی پیدا کنی و با LINQ to XML و LINQ to JSON چطور اطلاعات سلسلهمراتبی رو به آسانی بخونی و دستکاری کنی.
حتی تکنیکهای پیشرفته مثل اجرای تعویقی (deferred execution) و درختهای عبارت (expression trees) رو یاد میگیری که باعث میشن کدهات هم سریعتر باشن و هم خواناتر و قابل نگهداریتر.
چه با دادههای رابطهای کار کنی، چه برنامههایی بسازی که به شدت وابسته به داده هستن، یا بخوای دادههای متنوع و پیچیده رو مدیریت کنی، مسلط شدن به LINQ حسابی کارت رو راحت میکنه و باعث میشه کد تمیزتر و قابل فهمتری داشته باشی.
🎯 اهداف یادگیری:
آشنایی کامل با سینتکس و قواعد LINQ در داتنت.
استفاده از اپراتورهای متنوع LINQ برای جستجو، تغییر و دستکاری دادهها.
مدیریت بهینه مجموعه دادهها با LINQ to Objects.
دسترسی به دادههای ساختاریافته پایگاه داده با LINQ to Entities.
کار با دادههای سلسلهمراتبی در XML و JSON از طریق LINQ.
یادگیری تکنیکهای پیشرفته مثل deferred execution و expression trees.
توانایی فیلتر، مرتبسازی، گروهبندی و تجمیع دادهها به شکلی ساده و مؤثر.
نوشتن کدهای قابل فهم، پاک و قابل نگهداری با بهرهگیری از LINQ.
مهارت ها
LINQ.NETDatabase DevelopmentDatabase ManagementSoftware Development ToolsMicrosoftSoftware DevelopmentOne-Off
سرفصل ها
۰. مقدمه
- 01 - قدرت کوئریهای درونزبانی را آزاد کنید
- 02 - چگونه از این دوره بیشترین بهره را ببریم
- 03 - نقشه راه دوره - آنچه یاد خواهید گرفت
- 04 - نحوه دسترسی به کد نمونه در GitHub
۱. روح LINQ
- 05 - چرا LINQ نیاز به یک موتور پرس و جو
- 06 - ملزومات LINQ - مفاهیم و ویژگیهای کلیدی
- 07 - پیدا کردن و استفاده از کد مثال
۲. کار با LINQPad
- 08 - چرا از LINQPad استفاده کنیم
- 09 - شروع کار - مروری بر LINQPad
- 10 - نحوه تنظیم تنظیمات LINQPad
- 11 - نوشتن و اجرای کد در LINQPad
- 12 - یک پوشه مقصد برای فایلهای دوره تعیین کنید
- 13 - نحوه اشکالزدایی کد در LINQPad
- 14 - بررسی ویرایشگر عبارات
- 15 - بررسی ویرایشگر دستورات
- 16 - قالببندی خروجی با استفاده از متد Dump
- 17 - بررسی ویرایشگر برنامه
- 18 - نحوه اجرای زیرمجموعهای از کد
۳. نگاههای سریع
- 19 - نگاهی سریع به یک کوئری LINQ to Objects
- 20 - نگاهی سریع به یک کوئری LINQ to Entities
- 21 - نگاهی سریع به یک کوئری LINQ به XML
۴. بخشهایی از یک کوئری LINQ
- 22 - از چه منابعی میتوانید پرسوجو کنید؟
- 23- مقدمهای بر کلاس Enumerable
- 24- استفاده از متدهای استاتیک قابل شمارش
- 25- استفاده از متدهای الحاقی Enumerable
- 26 - نوشتن کوئریها با سینتکس عبارات
- 27- بازنگری منابع داده قابل پرسوجو
- 28 - اجرای معوق - چه زمانی یک پرسوجو اجرا میشود
- 29 - ساخت خطوط لوله اجرایی در LINQ
- 30- ترکیب متدهای افزونه و سینتکس پرسوجو
۵. تولید توالی دادهها
- 31 - تولید یک توالی خالی
- 32- استفاده از DefaultIfEmpty در LINQ
- 33 - نحوه استفاده از روش تکرار
- 34- نحوه استفاده از متد Range
6. مبانی LINQ
- 35 - سه نوع عبارت پرسوجو
- 36 - مرور بندهای عبارت پرسوجو
- 37 - نمونههایی از عبارات پرس و جو
- 38- بررسی کتابخانههای کلاس داتنت در دوره
- 39- کوئری از کتابخانههای دات نت در ASP.NET
- 40 - کار با کتابخانههای خارجی داتنت
- 41- استفاده از select برای تبدیل به یک نوع .NET
- 42 - استفاده از select برای تبدیل به یک نوع ناشناس
- 43 - استفاده از عبارات با select
- 44 - اندیسگذاری در یک توالی دیگر
- 45 - چالش - نوشتن عبارات انتخابی
- 46 - راه حل - نوشتن عبارات انتخابی
۷. فیلتر کردن دادهها
- 47- استفاده از متد Where
- 48 - استفاده از عملگرهای منطقی با متد Where
- 49- بررسی تعاریف کلاس OfType
- 50 - از متد OfType استفاده کنید
- 51 - چالش - فیلتر کردن نتایج با استفاده از Where
- 52 - راه حل - فیلتر کردن نتایج با Where
۸. خلاصهسازی و تحلیل دادهها با استفاده از دادههای تجمیعی
- 53- نحوه عملکرد عملیات تجمیعی
- 54 - عملگرهای تجمیع پایه - مجموع، میانگین، حداقل، حداکثر، تعداد
- 55- استفاده از لامبداها در عملیات تجمیعی
- 56 - مشخص کنید کدام ویژگی را باید تجمیع کنید
- 57 - ایجاد عملیات تجمیعی سفارشی
- 58 - معکوس کردن یک توالی با یک مجموع سفارشی
۹. دستهبندی دادهها با GroupBy
- 59 - گروهبندی دادهها با روش GroupBy
- 60 - ایجاد گروهها با یک عبارت پرسوجو
- 61 - تبدیل گروهها با استفاده از انتخابگر عنصر
- 62 - تبدیل گروهها با عبارات پرسوجو
- 63 - تغییر نام کلیدها و مقادیر با استفاده از یک انتخابگر نتیجه
- 64 - تغییر نام مقادیر کلیدها با عبارات پرس و جو
- 65- تکرار روی گروهها در LINQ
- 66 - استفاده از چندین کلید برای گروهبندی
- 67 - مسطحسازی توالیها با SelectMany
- 68 - چالش - گروهبندی نتایج بر اساس مقادیر رنگ
- 69 - راه حل - گروه بندی نتایج بر اساس مقادیر رنگ
۱۰. عملیات عنصر
- 70- استفاده از متدهای First و Last
- 71- نحوهی عملکرد متد FirstOrDefault
- 72 - بازیابی عناصر با ElementAt
- 73- استفاده از Single و SingleOrDefault
۱۱. انجام عملیات مجموعه
- 74- روش Distinct توضیح داده شده است
- 75- درک ضرب دکارتی
- 76- نحوه عملکرد روش تقاطع
- 77- استفاده از روش Union
- 78 - فیلتر کردن با متد Except
- 79 - یافتن مقادیر تکراری در یک دنباله
۱۲. کمیسازی دادهها
- 80 - بررسی عملگرهای تعیین مقدار
- 81 - از متد Any برای تشخیص توالی خالی استفاده کنید
- 82 - از متد Any برای بررسی وجود یک عنصر استفادهکنید .
- 83- نحوهی عملکرد متد Contains
- 84 - از متد All برای بررسی تطابق همه عناصر استفادهکنید .
۱۳. پارتیشنبندی دادهها
- 85 - بررسی عملگرهای پارتیشن
- 86- استفاده از عملگرهای Skip و Take
- 87- استفاده از Skip و Take با شرطها
۱۴. توسعه LINQ
- 88- استفاده از LINQ در یک برنامه .NET
- 89 - بهبود پرسوجوها با MoreLinq
- 90 - MoreLinq در عمل - مثالهای اضافی
۱۵. کوئری از پایگاههای داده
- 91- درک LINQ برای پایگاههای داده
- 92 - نگاهی گذرا به کوئری از دادههای پایگاه داده
- 93 - تغییر رشتههای اتصال پایگاه داده
- 94 - IQueryable و سایر انواع پایگاه داده
- 95 - نصب ابزارهای قدرتمند SQLite و EF core
- 96 - مروری بر پایگاههای داده دوره
- 97 - نگاهی سریع به ایجاد مدلهای EF
- 98- نحوه استفاده از DbContext سفارشی
- 99- مدلهای چارچوب موجودیت را مرور کنید
۱۶. پایگاههای داده و LINQPad
- 100 - به پایگاه داده نمونه موجود متصل شوید
- 101 - اتصال به پایگاه داده دیگر
- 102 - اتصال به یک مدل EF در یک اسمبلی .NET
- 103 - مشاهده ساختارهای پایگاه داده در LINQPad
۱۷. بررسی انواع پرسوجوپذیر
- 104 - بررسی انواع LINQ مربوطه
- 105 - درک نحوهی کار DbContext
- 106 - DbSet - پایه و اساس مجموعههای EF
- 107- استفاده از ویژگیهای ناوبری در EF
- 108 - افزودن، بهروزرسانی و حذف دادهها در EF
- 109 - مشاهده SQL تولید شده در LINQPad
۱۸. پرسشهای جالب
- 110 - تصویرسازی - بازیابی ستونهای کمتر
- 111 - صفحهبندی دادهها با قابلیت دریافت و رد کردن
- 112 - برای جستجوی سریعتر مبتنی بر کلید، از Find استفاده کنید
- 113 - استفاده از ویژگیهای ناوبری EF روی joinها
- 114- استفاده از متد Contains در کوئریها
- 115 - گروهبندی نتایج پرسوجو با GroupBy
- 116 - مسطحسازی مجموعههای فرزند با SelectMany
- 117 - فیلتر کردن رکوردها بر اساس محدوده تاریخ
۱۹. LINQ به مجموعه داده
- 118 - تبدیل ADO.NET و LINQ به DataSet
- 119 - ارجاع به یک فایل پرسوجوی دیگر
- 120 - ایجاد و پر کردن یک DataSet
- 121 - کوئری از یک DataSet با استفاده از AsEnumerable
- 122 - دسترسی به فیلدهای DataRow در یک پرس و جو
۲۰. درک LINQ به XML
- 123- درک LINQ برای XML
- 124- مروری بر انواع XML در .NET
۲۱. بارگذاری دادههای XML
- 125 - فایلهای داده XML مورد استفاده در این دوره
- 126 - بارگذاری دادههای XML از یک فایل
- 127- مقدمهای بر کلاس XDocument
- 128- چگونه فضاهای نام XML بر پرسوجوها تأثیر میگذارند
- 129 - تجزیه XML از یک رشته
- 130 - ذخیره یک سند XML
- 131 - نگاهی سریع به یک کوئری LINQ به XML
۲۲. کار با عناصر و ویژگیها
- 132 - ساختار و دادههای موجود در فایل XML
- 133 - بازیابی یک عنصر از XML
- 134 - بازیابی یک ویژگی از XML
- 135 - عناصر را با یک فضای نام دریافت کنید
- 136 - دریافت ویژگیها با یک فضای نام
- 137 - مجموعهای از عناصر را بازیابی کنید
- 138 - عناصر فرزند را از XML بازیابی کنید
- 139 - از تابع Descendants() برای یافتن عناصر فرزند استفاده کنید
- 140 - بازیابی ویژگیها از XML
- 141 - خواندن مقادیر از عناصر و ویژگیها
۲۳. ویرایش مقادیر XML
- 142 - تغییر مقادیر عنصر و ویژگی
- 143 - مشکلات مربوط به تغییر مقادیر عناصر
- 144 - استفاده از SetElementValue برای اضافه کردن، حذف کردن و تغییر دادن عناصر فرزند
۲۴. عملگرهای کوئری XML
- 145 - استفاده از سینتکس کوئری برای کار با عناصر
- 146 - مقادیر عنصر پرسوجو در XML
- 147 - ویژگیهای پرسوجو در XML
- 148 - دادهها را به یک نوع ناشناس تبدیل کنید
- 149 - فیلتر بر اساس مقدار ویژگی با استفاده از Where
- 150 - برای مقایسه مقادیر از Where استفاده کنید
- 151 - انجام پرسوجوهای تجمیعی در XML
- 152 - مرتبسازی نتایج پرسوجو با OrderBy
- 153 - عناصر خالی و مقادیر خالی را پیدا کنید
- 154 - گروهبندی دادههای XML با GroupBy
- 155 - چالش - ایجاد یک خروجی رشتهای سفارشی
- 156 - راه حل - ایجاد یک خروجی رشتهای سفارشی
- 157 - چالش - فیلتر کردن عناصر بدون محتوا
- 158 - راه حل - فیلتر کردن عناصر بدون محتوا
- 159 - چالش - فیلتر کردن نتایج برای مقادیر نامعتبر
- 160 - راه حل - فیلتر کردن نتایج برای مقادیر نامعتبر
۲۵. مقدمهای بر LINQ به JSON
- 161 - تکنیکهای اولیه پرسوجوی JSON
- 162 - بارگذاری دادهها از یک فایل JSON
- 163 - پرسوجوی JSON با نوع پیشبینی
- 164 - گروهبندی دادههای JSON با GroupBy
۲۶. ادامه سفرتان
- 165 - مثالهای بیشتر از دوره
- 166 - مراحل بعدی در سفر LINQ شما