try
task {
let! deleted =
conn
|> Sql.connect
|> Sql.query "DELETE FROM questions
WHERE question_id = @id"
|> Sql.parameters [ "id", Sql.uuid id ]
|> Sql.executeNonQueryAsync
return match deleted with
| 1 -> DeleteDbResult.Success
| 0 -> DeleteDbResult.NoDataFound
| _ -> DeleteDbResult.Error
}
with
| :? PostgresException as ex when ex.ErrorCode = 02000 -> Task.FromResult DeleteDbResult.NoDataFound
| _ -> Task.FromResult DeleteDbResult.Error
А вот так вот вообще нормально делать? Хендлить
да, только еще на всякий случай делать Flatten
Обсуждают сегодня