Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You can use the QueryByAttribute class to build queries that test a set of columns (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.
Property | Description |
---|---|
EntityName | Specifies which type of table is retrieved. A query expression can only retrieve a collection of one table type. You can also pass this value by using the QueryExpression constructor. |
ColumnSet | Specifies the set of columns (attributes) to retrieve. |
Attributes | Specifies the set of attributes selected in the query. |
Values | Specifies the column values to look for when the query is executed. |
Orders | Specifies the order in which the rows are returned from the query. |
PageInfo | Specifies the number of pages and the number of rows 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"]);
}