PDA

View Full Version : سوال: تفاوت FirstOrDefault با SingleOrDefault



mahdioo12194
یک شنبه 14 مهر 1392, 17:41 عصر
سلام می خواستم تفاوت SingleOrDefault با FirstOrDefault چیست؟ و اگر مقداری پیدا نکنند چی برمی گردونند؟؟

rezaei_y
یک شنبه 14 مهر 1392, 18:15 عصر
اگه نتیجه کوئری 0 یا 1 و یا بیش از یک رکورد باشد

| 0 values | 1 value | > 1 value
FirstOrDefault | Default | First value | First value
SingleOrDefault | Default | First value | Exception

mahdioo12194
یک شنبه 14 مهر 1392, 18:46 عصر
ممنون exception یعنی ارور میده ؟! اگه بخوام مثلا یه آدی بدم تمام سطر ها رو بیاره ممکنه چندین سطر باشه باید چی بنویسم؟!

rezaei_y
یک شنبه 14 مهر 1392, 21:08 عصر
آره اررور میده

اگه خروجیت ممکنه چندین رکورد باشه و به بیش از یک رکورد هم نیاز دارید از هیچ کدام از موارد بالا استفاده نکنید
FirstOrDefault و SingleOrDefaultفقط برای بدست آوردن حداکثر یک رکورد استفاده میشن

fakhravari
دوشنبه 15 مهر 1392, 18:04 عصر
first
single
خودشون میگن چی هستن دیگه:لبخند:

EnKamran
شنبه 25 آذر 1396, 21:52 عصر
در حالت FirstOrDefault هرچندتا ركورد پیدا كنه اولی رو برمیگردونه و اگر پیدا نكنه نال برمیگردونه در صورتی كه در حالت SingleOrDefault اگر هیچی پیدا نكنه 0 برمیگردونه اگر تنها یك ركورد پیدا كنه همونو برمیگردونه واگر بیشتر پیدا كنه خطا میده.
حاللت اول رو هرجا میتونی استفاده كنی ولی حالت دوم فقط زمانی میتونی استفاده كنی كه مطمعنی فقط یك نتیجه داری و یا زمانی كه (بنا به منطق برنامه ت) نیاز داری كه اگر بیشتر از یك ركورد داشتی خطا بده