حتماً پیش آمده که چرا هر دو این دستورات در عمل یک کار انجام میدهند اما هردو در دستورات EF وجود دارند. پاسخ این سوال در رفتار این دو متد با دیتا مشهود هست.
دستور First اگر رکوردی را با شرطی که شما اعلام کردین پیدا نکند، یک Exception ایجاد میکند که شما با هندل کردن آن منطق برنامه خود را پیش میبرید.
اما دستور FirstOrDefault در صورتی که با توجه به شرط اعلامی شما رکوردی پیدا نکند، مقدار null آبجکت درخواستی را برمیگرداند که شما باید آبجکت برگشتی را ارزیابی کنید که null نباشد و ادامه داستان را پیش ببرید.