First() always expects at least one element in result set, if there isn't any element is result, then First() returns an exception. While FirstOrDefault() is fine with a result set having 0 elements, it does not throw any exception
First() :- it always find at least one value from result set. if no value or more than one value then it will through exception. FirstOrDefault() :- return the first element from sequence or return the default value from result set. if no element is found then it will through exception.
Hi First() throw an exception when there is no record where as FirstOrDefault () does not throw an exception.So we can say First() does not support Null value where as FirstOrDefault support Null values
First()- their are at least one element in sequence FirstOrDefault()- you are checking wither their is any element in sequence.
The First() method returns the first element of a collection, or the first element that satisfies the specified condition using lambda expression or Func delegate. If a given collection is empty or does not include any element that satisfied the condition then it will throw InvalidOperation exception. The FirstOrDefault() method does the same thing as First() method. The only difference is that it returns default value of the data type of a collection if a collection is empty or doesn't find any element that satisfies the condition.
@Rahul I see your multiple and same replies, keep only one and delete others