次の方法で共有


QueryByAttribute クラスを使用する

QueryByAttribute クラスを使用して、一連の列 (属性) を値のセットに対してテストするクエリを作成できます。 このクラスは、 RetrieveMultiple メソッドまたは IOrganizationService.RetrieveMultipleRequest メソッドと共に使用します。

次の表に、 QueryByAttribute クラスを使用してクエリ式を作成するために設定できるプロパティを示します。

プロパティ Description
EntityName 取得するテーブルの種類を指定します。 クエリ式は、1 つのテーブル型のコレクションのみを取得できます。 QueryExpression コンストラクターを使用して、この値を渡すこともできます。
ColumnSet 取得する列 (属性) のセットを指定します。
Attributes クエリで選択された属性のセットを指定します。
Values クエリの実行時に検索する列の値を指定します。
Orders クエリから行が返される順序を指定します。
PageInfo クエリから返されるページ数とページあたりの行数を指定します。

次のコード例は、 QueryByAttribute クラスの使用方法を示しています。

//  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"]);      
}  
  

こちらも参照ください

QueryExpression を使用したクエリの構築
QueryByAttribute