public static bool Exists(this IStorageTable table) { if (table == null) { throw new ArgumentNullException("table"); } return(table.ExistsAsync(CancellationToken.None).GetAwaiter().GetResult()); }
public async Task <IValueProvider> BindAsync(IStorageTable value, ValueBindingContext context) { IQueryable <TElement> queryable; if (!await value.ExistsAsync(context.CancellationToken)) { queryable = Enumerable.Empty <TElement>().AsQueryable(); } else { queryable = value.CreateQuery <TElement>(); } return(new TableValueProvider(value, queryable, typeof(IQueryable <TElement>))); }
public async Task <IQueryable <TElement> > ConvertAsync(IStorageTable value, CancellationToken cancellation) { // If Table does not exist, treat it like have zero rows. // This means return an non-null but empty enumerable. // SDK doesn't do that, so we need to explicitly check. bool exists = await value.ExistsAsync(CancellationToken.None); if (!exists) { return(Enumerable.Empty <TElement>().AsQueryable()); } else { return(value.CreateQuery <TElement>()); } }