First
используется для получения первого элемента последовательности, но также требуется предикат, позволяющий фильтровать последовательность IEnumerable.
Таким образом, First
вернет первый элемент IEnumerable
с 1 или более результатами.
First(Predicate)
вернет первый элемент результатов в IEnumerable с 1 или более результатами.
Если при использовании First
имеется 0 элементов, выВы получите ошибку Последовательность не содержит элементов .Если вы ожидаете, что будет 0 результатов, вы должны использовать FirstOrDefault
.FirstOrDefault
также может принимать предикат, то есть
// Will return null if there are no elements with a matching contact Id
return db.Contacts.FirstOrDefault(x => x.ContactID == id);