/// <summary> /// Retrieves the data from Azure Storage using <see cref="Collection"/>. /// </summary> public virtual IEnumerable <TData> GetByKey() { // Create the table query. var rangeQuery = Collection.Where ( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, StorageStore <object, object> .GetSafeStorageKey(typeof(TCollectionItemData).FullName)) ); return(ReadableSource.ExecuteQuery(rangeQuery)); }
/// <summary> /// Retrieves the data from Azure Storage using <see cref="TableStorageStore{TData,TCollectionItemData}.Collection"/>. /// </summary> public override IEnumerable <EntityTableEntity <TData> > GetByKey() { // Create the table query. var rangeQuery = Collection.Where ( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, StorageStore <object, object> .GetSafeStorageKey(typeof(TData).FullName)) ); IEnumerable <EntityTableEntity <TData> > results = ReadableSource.ExecuteQuery(rangeQuery); return(results); }
/// <summary> /// Retrieves the data from Azure Storage using <see cref="Collection"/>. /// </summary> public virtual TData GetByKeyAndRow(Guid rsn) { // Create the table query. var rangeQuery = Collection.Where ( TableQuery.CombineFilters ( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, StorageStore <object, object> .GetSafeStorageKey(typeof(TCollectionItemData).FullName)), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, StorageStore <object, object> .GetSafeStorageKey(rsn.ToString("N"))) ) ); return(ReadableSource.ExecuteQuery(rangeQuery).Single()); }
public override EntityTableEntity <TData> GetByKeyAndRow(Guid rsn) { TableOperation searchQuery = TableOperation.Retrieve <DynamicTableEntity>(typeof(TData).FullName, rsn.ToString("N")); TableResult searchResult = ReadableSource.Execute(searchQuery); var dynamicTableEntity = searchResult.Result as DynamicTableEntity; if (dynamicTableEntity == null) { return(base.GetByKeyAndRow(rsn)); } //Convert the DynamicTableEntity back to original complex object. TData result = EntityPropertyConverter.ConvertBack <TData>(dynamicTableEntity.Properties, new OperationContext()); return(new EntityTableEntity <TData>(result)); }
/// <summary> /// Opens stream for reading from a block blob. /// </summary> protected virtual IEnumerable <Stream> OpenStreamsForReading(Func <CloudBlockBlob, bool> predicate = null, string blobPrefix = null, string folderName = null) { IEnumerable <IListBlobItem> blobs; if (!string.IsNullOrWhiteSpace(folderName)) { CloudBlobDirectory container = ReadableSource.GetDirectoryReference(folderName); blobs = container.ListBlobs(true); } else { blobs = ReadableSource.ListBlobs(blobPrefix, true); } IEnumerable <CloudBlockBlob> query = blobs .Where(x => x is CloudBlockBlob) .Cast <CloudBlockBlob>(); if (predicate != null) { query = query.Where(predicate); } return(query.Select(x => x.OpenRead())); }