SALES: 1-800-867-1380
8 out of 9 rated this helpful - Rate this topic

TableServiceExtensionMethods.AsTableServiceQuery Method

Updated: April 24, 2013

[This topic is part of the Windows Azure Storage Client Library 1.7, which has been deprecated. The current recommended version is Storage Client Library 3.0.]

Converts a query of type DataServiceQuery to a CloudTableQuery object that handles continuation tokens and retries failed calls to the Table service.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)

public static CloudTableQuery<TElement> AsTableServiceQuery<TElement> (
	IQueryable<TElement> query



The type of the element.



Type: System.Linq.IQueryable

A DataServiceQuery object.

Return Value

Type: Microsoft.WindowsAzure.StorageClient.CloudTableQuery

A CloudTableQuery object.

The following code example queries entities using a simulated LIKE clause.

// Get contacts filtered by prefix.
public static List<ContactEntity> GetContactsByPrefix(string prefix)
    // Get data context.
    TableServiceContext context = tableClient.GetDataServiceContext();

    CloudTableQuery<ContactEntity> query;

    // Query entities to return names beginning with the specified letter.
    // Note that because wildcard queries are not supported, it's necessary to perform prefix  
    // matching by using string comparisons.
    if (!String.IsNullOrEmpty(prefix) && Char.IsLetter(prefix[0]))
        char prefixChar = prefix[0];
        int nextCharValue = ((int)prefixChar) + 1;
        char nextChar = (char)nextCharValue;
        query = context.CreateQuery<ContactEntity>(tableName)
                .Where(e => (e.FirstName.CompareTo(prefixChar.ToString().ToUpper()) >= 0 
                    && e.FirstName.CompareTo(nextChar.ToString().ToUpper()) < 0))
        query = context.CreateQuery<ContactEntity>(tableName).AsTableServiceQuery<ContactEntity>();

    // Populate list of entities from query results.
    List<ContactEntity> list = new List<ContactEntity>();
    foreach (ContactEntity entity in query)

    return list;

// Class to represent the table schema
public class ContactEntity : TableServiceEntity
    public ContactEntity()

    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
    public string HomePhone { get; set; }
    public string CellPhone { get; set; }
    public string StreetAddress { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string ZipCode { get; set; }
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

Windows Vista, Windows 7 and Windows Server 2008

Target Platforms

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft. All rights reserved.