예제 #1
0
            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>)));
            }
예제 #2
0
            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>());
                }
            }