عملگر پیوند Join – آموزش LINQ

  • چهارشنبه ۱۴ مهر ۱۴۰۰
  • بازدید ۸۷۴ نفر

تصویر linq-joining-operator-join_11074 عملگر پیوند Join - آموزش LINQ

عملگر پیوند Join

عملگر پیوند Join در زبان کوئری نویسی LINQ همانطور که از اسم آن نیز مشخص است به منظور پیوند دو مجموعه و تولید یک مجموعه جدید استفاده می شود. در جدول زیر می توانید عملگرهای پیوند را مشاهده کنید:

عملگر

توضیحات

Joinعملگر Join دو مجموعه را بر اساس یک کلید به هم پیوند داده و به عنوان نتیجه باز می گرداند (مشابه inner join در SQL).
GroupJoinعملگر GroupJoin دو مجموعه را بر اساس یک کلید به هم پیوند داده و گروه هایی از مجموعه ها باز میگرداند (مشابه left outer join در SQL).

عملگر Join

عملگر Join بر روی دو مجموعه کار می کند، مجموعه درونی (inner) و مجموعه بیرونی (outer) و به عنوان نتیجه یک مجموعه جدید که از عناصر مجموعه داخلی و خارجی تشکیل شده است را باز میگرداند. عملکرد این عملگر مشابه inner join در SQL است.

عملگر Join در سینتکس متد

متد افزودنی Join دو overload دارد که در زیر مشاهده می کنید:

همانطور که مشاهده می کنید اولی 5 ورودی دارد (به جز اولین ورودی که با this شروع می شود). به مثال زیر توجه کنید. در این مثال دو مجموعه از نوع رشته داریم و می خواهیم عناصری که در هر دو مجموعه یکسان هستند را انتخاب کنیم:

خروجی:

برای درک بهتر یک مثال دیگر را بررسی میکنیم. در مثال زیر دو کلاس با نام Student و Standard داریم که کلاس Student شامل یک فیلد به نام StandardID دارد.

نحوه استفاده از متد Join برای انتخاب دانش آموزان و استاندارد مربوطه به این شکل خواهد بود:

در مثال فوق از آنجایی که کوئری با studentList آغاز می شود، پس آن را به عنوان مجموعه بیرونی در نظر می گیریم. اولین ورودی متد Join مجموعه درونی را مشخص می کند که در این مثال standardList است. ورودی دوم و سوم فیلدی را مشخص می کنند که باید در مجموعه بیرونی و درونی یکی باشد. در این مثال می گوییم که عناصری را انتخاب کن که مقدار فیلد StandardID آن ها یکی باشد. آخرین ورودی متد به منظور شکل دادن به مجموعه نهایی تولید شده استفاده می شود. در این مثال ما مجموعه از یک شیء که شامل خاصیت StudentName و StandardName است را انتخاب می کنیم. خروجی مثال فوق به شکل زیر خواهد بود:

عملگر Join در سینتکس کوئری

نحوه استفاده از عملگر Join در سینتکس کوئری کمی با سینتکس متد فرق دارد. در سینتکس کوئری باید مجموعه بیرونی، انتخاب کننده کلید و انتخاب کننده نتیجه مشخص شوند. کلمه کلیدی ‘on’ برای مشخص کردن کلید ها استفاده می شود که در آن مقداری که قبل از  equals قرار دارد، کلید بیرونی و مقداری که بعد equals قرار دارد، کلید درونی است. سینتکس کلی به شکل زیر است:

برای درک بهتر به مثال زیر توجه کنید:

خروجی مثال فوق:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است