We are implementing some EF data repositories, and we have some queries which would include TOP 1
I have read many posts suggesting to use .Ta
First will query Take 1, so there is no difference in query. Calling FirstOrDefault will be one step statement, because Take returns IEnumerable do you will need to call First anyway.
First will throw exception so FirstOrDefault is always preferred.
And ofcourse people who wrote EF query converter are smart enough to call Take 1 instead executing entire result set and returning first item.
You can this verify using SQL profiler.