PDA

View Full Version : سوال: بروز مشکل زمان استفاده از متد Last در Linq



csharpcollegian
دوشنبه 18 بهمن 1395, 19:04 عصر
عرض سلام و وقت به خیر خدمت دوستان عزیز
من برای بدست آوردن آخرین رکورد مربوط به یک User خاص از جدول Product از کد زیر استفاده می کنم، اما متاسفانه با خطای NotSupported روبه رو میشم:


144417



همه چی رو بررسی کردم و هیچ مشکلی در کدها و مقادیر وجود نداره و انگار مشکل ویژوال با خود متد Last هستش و پشتیبانیش نمی کنه !
میشه راهنمایی کنید که دلیلش چیه و باید از چه راهی استفاده کنم ؟
ممنونم

mr.sirwan
دوشنبه 18 بهمن 1395, 19:16 عصر
با سلام
دوست عزیز، متد Last قابل ترجمه به SQL نیستش واسه همین به ارور میخورین، برای مرتفع کردن این مشکل شما باید ابتدا لیست رو بصورت نزولی مرتب کرده و اولین رکورد رو توسط متد FirstOrDefault برگردونید

csharpcollegian
دوشنبه 18 بهمن 1395, 21:09 عصر
با سلام
دوست عزیز، متد Last قابل ترجمه به SQL نیستش واسه همین به ارور میخورین، برای مرتفع کردن این مشکل شما باید ابتدا لیست رو بصورت نزولی مرتب کرده و اولین رکورد رو توسط متد FirstOrDefault برگردونید

ممنونم دوست عزیز
یه سوال دیگه ممنون میشم اگر فرق بین متد First و FirstOrDefault رو بگید

hamid_hr
سه شنبه 19 بهمن 1395, 09:26 صبح
در متد first اگه هیچ داده ای وجود نداشته باشه یک خطا اتفاق می افته ولی firstordefult گه هیچ داده ای وجود نداشته باشه مقدار null برگردونده میشه

mr.sirwan
سه شنبه 19 بهمن 1395, 10:04 صبح
در متد first اگه هیچ داده ای وجود نداشته باشه یک خطا اتفاق می افته ولی firstordefult گه هیچ داده ای وجود نداشته باشه مقدار null برگردونده میشه

در تکمیل فرمایشات شما باید عرض کنم که متد firstordefault اگر رکوردی پیدا نکنه، مقدار default که خودمون قبلا واسش تعیین کردیم رو برمیگردونه، در صورتیکه هیچ مقدار پیش فرضی تعریف نکرده باشیم، null برمیگردونه