方法: クエリ デザイナーを使用してクエリをデザインする
クエリは、特定の条件を満たすデータを返します。詳細については、「クエリ: データ ソースからの情報の取得」を参照してください。クエリを使用して、画面に情報を表示します。カスタム ビジネス ロジックでクエリの結果を使用することもできます。
まず、プロジェクトにクエリを追加します。詳細については、「方法: クエリを追加、削除、変更する」を参照してください。クエリが自動的に、クエリ デザイナーで開かれます。クエリ デザイナーで、次のタスクのいずれかを実行して、クエリをデザインします。
フィルター条件を追加します。
フィルター条件は、各データ行を渡して結果に含める必要のあるテストについて説明します。
フィルター条件でパラメーターを使用します。
アプリケーションのユーザーは、情報を入力するか、ユーザー インターフェイス (UI) で選択することによって、実行時にパラメーターの値を指定できます。
フィルター条件をまとめてグループ化します。
フィルター グループを使用して、一連のフィルター条件が残りのフィルター条件とは別に、1 つの単位としてまとめて評価されるようにします。
並べ替え用語を追加します。
並べ替え用語を使用すると、クエリによって返されるデータ行の最初の並べ替え順序を設定できます。
フィルター条件、フィルター グループ、並べ替え用語、およびパラメーターの順序を変更します。
フィルター条件、フィルター グループ、並べ替え用語、およびパラメーターがクエリで評価される順序を変更できます。
フィルター条件の追加
フィルター条件は、クエリが返すデータ行を指定します。たとえば、所在地がニューヨークの顧客だけを返すフィルター条件を追加できます。フィルターの状態は、従来の SQL ステートメントの WHERE 句の検索条件と同じです。フィルター条件には、選択プロパティ、演算子、比較の種類、および比較値が含まれます。フィルター条件はブール演算子で区切られます。
次の図では、フィルター条件の一部を示しています。
フィルター条件を追加するには
クエリ デザイナーで、クエリの [フィルター] セクションを展開します。
[フィルター] セクションで、[フィルターの追加] をクリックします。
フィルター条件が [フィルター] セクションに追加されます。フィルター条件の横に、いくつかのドロップダウン リストとテキスト ボックスが表示されます。
最初のドロップダウン リストで、次の条件のいずれかを選択します。
残りのフィルター条件を満たすすべてのデータ行を返すには、[Where] を選択します。
残りのフィルター条件を満たさないデータ行を返すには、[Where Not] を選択します。
2 番目のドロップダウン リストで、フィルター条件に使用するプロパティを選択します。
たとえば、特定の注文日の販売注文がクエリで返されるようにする場合、選択プロパティは OrderDate です。
3 番目のドロップダウン リストで、使用する演算子を選択します。
たとえば、2009 年 9 月 22 日 12 時 00 分: 00 AM より前の受注日の販売注文を返すには、< (小なり) 演算子を選択します。
比較対象値を追加します。これを行うには、フィルター条件の最後に表示されるテキスト ボックスの横にあるボタンをクリックしてから、次のボタンのいずれかをクリックします。
[リテラル] をクリックして、比較値として使用する値を入力します。
[プロパティ] をクリックして、プロパティを比較値として使用します。
このオプションを選択した場合は、テキスト ボックスがドロップダウン リストになります。
[パラメーター] をクリックして、パラメーターを比較値として追加します。
このオプションを選択した場合は、テキスト ボックスがドロップダウン リストになります。
[!メモ]
DateTime フィールドなどの特定のフィールドの種類の場合は、[グローバル] をクリックすると、[現在]、[今日]、[週の始め] などの相対値を使用できます。
フィルター条件の最後に表示されるドロップダウン リストまたはテキスト ボックスで、次の手順のいずれかを実行します。
前の手順で [リテラル] の選択した場合は、"2009 年 9 月 22 日 12: 00: 00" などの値を入力します。
前の手順で [プロパティ] を選択した場合は、プロパティの名前を選択または入力します。
前の手順で [パラメーター] を選択した場合は、パラメーターを選択します。
手順 2. ~ 7. を繰り返して、必要な数のフィルター条件をクエリに追加します。
ブール演算子の And、Or、And Not、Or Not のいずれかを使用して、他のフィルター条件にフィルター条件を関連付けることができます。
フィルター条件でパラメーターを使用する
フィルター条件に比較値としてパラメーターを追加できます。ユーザーが実行時にこの値をできる画面をデザインできます。カスタム ビジネス ロジックからクエリを実行する場合は、この値をクエリ メソッドへのパラメーターとして指定することもできます。
クエリにパラメーターを追加するには
クエリ デザイナーで、[パラメーター] セクションを展開します。
デザイナーの [パラメーター] セクションで、[パラメーターの追加] をクリックします。
[パラメーター] セクションには、パラメーターが追加されます。テキスト ボックスとドロップダウン リストがパラメーターの一部として表示されます。
パラメーターのテキスト ボックスに名前 ("SalesTerritory" など) を入力します。
パラメーターのドロップダウン リストでは、パラメーターのデータ型 ([文字列] など) を選択します。
[表示] メニューの [プロパティ ウィンドウ] をクリックします。
[プロパティ] ウィンドウで、[省略可能である] チェック ボックスをオンまたはオフにします。
パラメーターの値が null のときに、パラメーターを使用するフィルター条件がクエリに含まれないようにする場合は、[省略可能である] チェック ボックスをオンにします。
パラメーターの値が null のときでも、パラメーターを使用するフィルター条件が常にクエリに含まれるようにする場合は、[省略可能である] チェック ボックスをオフにします。パラメーターの値が null の場合は、フィルター条件の評価時に null 値が比較値として使用されます。
クエリ デザイナーで、[フィルター] セクションを展開します。
デザイナーの [フィルター] セクションで、フィルター条件をポイントし、フィルター条件の最後にあるボタンをクリックしてから、[パラメーター] をクリックします。
ボタンの横のドロップダウン リストで、パラメーターを選択します。
ユーザーが画面でパラメーター値を入力または選択できるようにすることができます。たとえば、ユーザーが販売区域を選択して顧客の一覧を表示できる画面をデザインできます。
また、他のリストからパラメーターをプロパティにバインドできます。たとえば、ユーザーが顧客を選択して販売注文の一覧を表示できる画面をデザインできます。ユーザーが画面でパラメーター値を指定できるようにする方法については、「方法: クエリ パラメーターの値を指定する」を参照してください。
フィルター条件をまとめてグループ化する
1 つの単位として評価されるように、複数のフィルター条件をまとめてグループ化できます。フィルター条件のグループ化は、SQL ステートメントで式をかっこで囲むことに似ています。かっこ内の式は、ステートメントの他の式の前に評価されます。
2 つのフィルター グループを次の図に示します。
フィルター グループを作成するには
クエリ デザイナーで、[フィルター] セクションを展開します。
デザイナーの [フィルター] セクションで [フィルターの追加] をポイントし、下向きの矢印をクリックしてから、[グループ] をクリックします。
フィルター グループが [フィルター] セクションに追加されます。新しいフィルター条件がフィルター グループに追加されます。
フィルター条件をフィルター グループに追加するには
次のいずれかの操作を実行します。
フィルター グループの下部で [フィルターの追加] をクリックします。
[!メモ]
[フィルターの追加] が、フィルター グループを区別する行の最後に表示されます。
デザイナーの [フィルター] セクションで、任意の既存のフィルター条件をフィルター グループにドラッグします。
別のフィルター グループをフィルター グループに追加するには
次のいずれかの操作を実行します。
フィルター グループの下部で、[フィルターの追加] をポイントし、下向きの矢印をクリックしてから、[グループ] をクリックします。
[!メモ]
[フィルターの追加] が、フィルター グループを区別する行の最後に表示されます。
デザイナーの [フィルター] セクションで、任意の既存のフィルター グループをこのフィルター グループにドラッグします。
子フィルター グループは、親フィルター グループで囲まれています。
ブール演算子の And、Or、And Not、Or Not のいずれかを使用して、クエリ内の他の条件およびグループにフィルター グループを関連付けることができます。
並べ替え用語を追加する
1 つまたは複数の並べ替え用語を追加して、クエリの結果を表示する順序を指定することができます。並べ替え用語は、従来の SQL ステートメントの ORDER BY 句内の列に似ています。
クエリの結果を並べ替えるには
クエリ デザイナーで、[並べ替え] セクションを展開します。
デザイナーの [並べ替え] セクションで、[並べ替えの追加] をクリックします。
並べ替え用語が並べ替え用語の一覧に追加されます。2 つのドロップダウン リストが、並べ替え用語の横に表示されます。
最初のドロップダウン リストで、並べ替え用語に使用するプロパティを選択します。たとえば、連絡先を姓で並べ替えるには、Contact エンティティの LastName プロパティを選択します。
2 番目のドロップダウン リストで、次の項目のいずれかを選択します。
最小から最大の順に結果を並べ替えるには、[昇順] を選択します。たとえば、文字 A で始まる姓が最初に表示されます。文字 Z で始まる姓が最後に表示されます。
最大から最小の順に結果を並べ替えるには、[降順] を選択します。たとえば、文字 Z で始まる姓が最初に表示されます。文字 A で始まる姓が最後に表示されます。
手順 2. ~ 4. を繰り返して、必要な数の並べ替え用語をクエリに追加します。
並べ替え用語では、画面に表示されるデータ行の最初の並べ替え順序のみが設定されます。ユーザーは、画面との対話によって、さまざまな順序でデータ行を表示できます。
フィルター条件、フィルター グループ、並べ替え用語、およびパラメーターの順序を変更する
フィルター条件、フィルター グループ、並べ替え用語、およびパラメーターがクエリで評価される順序を変更できます。
フィルター条件とフィルター グループの順序を変更するには
クエリ デザイナーで、[フィルター] セクションを展開します。
デザイナーの [フィルター] セクションでフィルター条件またはフィルター グループを、一覧で上または下の位置にドラッグします。
並べ替え用語の順序を変更するには
クエリ デザイナーで、[並べ替え] セクションを展開します。
デザイナーの [並べ替え] セクションで並べ替え用語を、一覧で上または下の位置にドラッグします。
並べ替え用語の順序を変更すると、クエリの結果でのデータの並べ替え方法に影響します。たとえば、2 つの並べ替え用語があり、1 つは SalesTerritory で、もう 1 つは OrderDate でデータを並べ替えるとします。この例では、SalesTerritory から先に注文が並べ替えられます。その後、各 SalesTerritory グループ内の順序が、その日付ごとに並べ替えられます。
パラメーターを並べ替えるには
クエリ デザイナーで、[パラメーター] セクションを展開します。
デザイナーの [パラメーター] セクションでパラメーターを、一覧で上または下の位置にドラッグします。
次の手順
画面でのクエリの使用方法を調べるには、「方法: Silverlight の画面を作成する」を参照してください。
クエリ デザイナーの機能を上回る方法でクエリを拡張する方法を調べるには、「方法: コードを使用してクエリを拡張する」を参照してください。