@embiid

Как вернуть результат при пустом значении?

Есть функция, которая принимает в себе значение, которое будет проверяться на сопостовление с значением из сущности.

public async Task<long?> GetId(long bookingId)
{
      var bookPriceDb = await context.BookPrice.SingleOrDefaultAsync(x => x.BookingId == bookingId);
      var Id = bookingId;

      return Id;
}


Есть вероятность, что значения не найдутся => как быть с проверкой:
if(bookPriceDb == null)
{
???
}
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 3
freeExec
@freeExec
Участник OpenStreetMap
Чего гадать, можно же явно вернуть нашли / не нашли
public async Task<(bool, long)> GetId(long bookingId)
Ответ написан
Комментировать
GavriKos
@GavriKos
Как ваша архитектура подразумевает обработку ошибок?
Киньте эксепшн. Верните Nan/Infinity/-1. Возвращайте не long а то что может быть nullable (хотя вроде с какого то там сишарпа такое можно и с простыми типами мутить)
Ответ написан
hekkaaa
@hekkaaa
C#/.NET Developer
Обычно в таких случаях бросаются ошибкой и обрабатывают ее выше по коду, либо на месте, если значение null.

if(bookPriceDb == null)
{
 throw new NullReferenceException ("не существует указанного id: {bookingId} ")
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы