در این مطلب می خواهیم متد ()First را برای واکشی سطر نخست، از میان تمامی سطرهای واکشی شده، به کار ببریم. این متد هیچ پارامتر ورودی را دریافت نمی کنند و تنها می بایست نخست تمامی سطرهای رابرابر با مطلب واکشی داده ها بوسیله DbContext در Entity Framework بدست آوریم و سپس این متد را فراخوانی کنیم. در شکل زیر در خط ۱۵ و درون بدنه عبارت using نخست تمامی سطرها را واکشی و درون متغیر allUsers ذخیره کرده ایم. سپس در خط ۱۷ متد ()First از LINQ فراخوانی شده تا یک تک سطر که همان سطر نخست است از میان تمامی سطرها برگشت داده می شود.

تعداد سطرهای برگشتی

در ادامه مطلب می خواهیم دو متد از LINQ به نام ()Count برای بدست آوردن تعداد سطرهای برگشتی و ()Any را آموزش دهیم. در شکل زیر در خط ۱۵ و درون بدنه عبارت using نخست تمامی سطرها را واکشی و درون متغیر allUsers ذخیره کرده ایم. سپس مقدار برگشتی متد ()Count که برابر با تعداد سطرهای درون allUsers است درون متغیر numberOfUsers ریخته می شود. سپس بررسی می شود که مقدار درون numberOfAllUsers بزرگتر از صفر است یا نه

در کد زیر از متد ()Any استفاده شده تا بتوانیم بررسی کنیم که آیا اجرای context.Users سطری برگشت داده شده است. توجه کنید متد ()Count تعداد سطرها را برگشت می دهد ولی متد ()Any که خروجی آن از نوع bool است نشان می دهد که آیا سطری برگشت داده شده است یا نه؟

جمع بندی

متدهای ()First و ()Count و ()Any که تا به اینجا خوانده ایم، از متدهای LINQ در NET Framework هستند. زمانی که context.Users اجرا می شود، تمامی سطرهای جدول به درون شی allUsers برگشت داده می شوند. همانطور که گفتیم Entity Framework به عنوان واسطه ای میان برنامه (اینجا سی شارپ) و پایگاه داده است و می بایست اشیا سی شارپ را به جدول ها و کوئری های پایگاه داده نگاشت دهد و از آن سو، باید سطرهای جدول را به اشیا سی شارپ نگاشت دهد، پس متغیر allUsers در این مطلب و مطلب پیشین، شامل نمونه هایی از کلاس User یا هر کلاس موجودیت دیگر است و چون یک شی سی شارپ است، می توانیم متدهای LINQ مانند ()First و ()Count و ()Any را روی آن اجرا کنیم. توجه کنید حتما باید فضای نام System.Linq به ابتدای برنامه ضمیمه شده باشد.

به عبارت دیگر از متدهای ()Add و ()AddRange برای ارتباط به پایگاه داده بوسیله DbContext و اعمال تغییرات استفاده می شود ولی پس از بدست آمدن سطرهای جدول و نگاشت آنها به شی های زبان برنامه نویسی (اینجا سی شارپ)، از متدهایی مانند ()First و ()Count و ()Any که جز متدهای LINQ هستند، برای انجام کوئری روی اشیا سی شارپ استفاده می شوند.