Share via

Use the QueryByAttribute class


Applies To: Dynamics CRM 2013

In Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online, you can use the QueryByAttribute class to build queries that test a set of attributes against a set of values. Use this class with the RetrieveMultiple method or the IOrganizationService.RetrieveMultipleRequest method.

The following table lists the properties that you can set to create a query expression using the QueryByAttribute class.




Specifies which type of entity is retrieved. A query expression can only retrieve a collection of one entity type. You can also pass this value by using the QueryExpression constructor.


Specifies the set of attributes (columns) to retrieve.


Specifies the set of attributes selected in the query.


Specifies the attribute values to look for when the query is executed.


Specifies the order in which the records are returned from the query.


Specifies the number of pages and the number of records per page returned from the query.

The following code example shows how to use the QueryByAttribute class.

//  Create query using querybyattribute    
QueryByAttribute querybyexpression = new QueryByAttribute("account");    
querybyexpression.ColumnSet = new ColumnSet("name", "address1_city", "emailaddress1");

//  Attribute to query    querybyexpression.Attributes.AddRange("address1_city");

//  Value of queried attribute to return    querybyexpression.Values.AddRange("Detroit");    

//  Query passed to the service proxy    
EntityCollection retrieved = _serviceProxy.RetrieveMultiple(querybyexpression);   

//  Iterate through returned collection    
foreach (var c in retrieved.Entities)    
      System.Console.WriteLine("Name: " + c.Attributes["name"]);       
      System.Console.WriteLine("Address: " + c.Attributes["address1_city"]);
      System.Console.WriteLine("E-mail: " + c.Attributes["emailaddress1"]);    

See Also

Build queries with QueryExpression
Use the QueryExpression class