سلام می خواستم تفاوت SingleOrDefault با FirstOrDefault چیست؟ و اگر مقداری پیدا نکنند چی برمی گردونند؟؟
سلام می خواستم تفاوت SingleOrDefault با FirstOrDefault چیست؟ و اگر مقداری پیدا نکنند چی برمی گردونند؟؟
اگه نتیجه کوئری 0 یا 1 و یا بیش از یک رکورد باشد
| 0 values | 1 value | > 1 value
FirstOrDefault | Default | First value | First value
SingleOrDefault | Default | First value | Exception
ممنون exception یعنی ارور میده ؟! اگه بخوام مثلا یه آدی بدم تمام سطر ها رو بیاره ممکنه چندین سطر باشه باید چی بنویسم؟!
آره اررور میده
اگه خروجیت ممکنه چندین رکورد باشه و به بیش از یک رکورد هم نیاز دارید از هیچ کدام از موارد بالا استفاده نکنید
FirstOrDefault و SingleOrDefaultفقط برای بدست آوردن حداکثر یک رکورد استفاده میشن
first
single
خودشون میگن چی هستن دیگه
در حالت FirstOrDefault هرچندتا ركورد پیدا كنه اولی رو برمیگردونه و اگر پیدا نكنه نال برمیگردونه در صورتی كه در حالت SingleOrDefault اگر هیچی پیدا نكنه 0 برمیگردونه اگر تنها یك ركورد پیدا كنه همونو برمیگردونه واگر بیشتر پیدا كنه خطا میده.
حاللت اول رو هرجا میتونی استفاده كنی ولی حالت دوم فقط زمانی میتونی استفاده كنی كه مطمعنی فقط یك نتیجه داری و یا زمانی كه (بنا به منطق برنامه ت) نیاز داری كه اگر بیشتر از یك ركورد داشتی خطا بده