Проблема в том, что последовательность вызывается, когда вы звоните null, а не то, что она есть FirstOrDefault. То, что вы хотите null, приведет к тому, что значение по умолчанию (в этом случае ), когда последовательность, которую он вызывает, пуст.return db.GetItems<Appointment>() .Where(l => l.AppointmentId == appointmentId) .FirstOrDefault();
GetItems
Вы также не нуждаетесь в нулевом условном операторе после того, nullкак он не должен возвращаться FirstOrDefault, возможно, пустая последовательность, но не null.