/// <summary> /// Looks for the first item or returns null if no items. /// </summary> /// <typeparam name="TEntity">Type of items.</typeparam> /// <param name="query">Query for items.</param> /// <param name="cancellation">Cancellation.</param> /// <returns>Item.</returns> public static async Task <TEntity> FirstOrDefaultAsync <TEntity>( this IODataQueryable <TEntity> query, CancellationToken cancellation = default) { var results = await query.Context.Provider.RetrieveItemsAsync(query.Take(1), cancellation); return(results.Items.FirstOrDefault()); }