次の方法で共有


EntityQuery クラス

クエリ メソッドの呼び出しを表します。

名前空間: System.ServiceModel.DomainServices.Client
アセンブリ: System.ServiceModel.DomainServices.Client (system.servicemodel.domainservices.client.dll 内)

使用方法

'使用
Dim instance As EntityQuery

構文

'宣言
Public MustInherit Class EntityQuery
public abstract class EntityQuery
public ref class EntityQuery abstract
public abstract class EntityQuery
public abstract class EntityQuery

ドメイン サービスから顧客を取得する方法を次のコード例に示します。電話番号が 583 で始まる顧客にフィルターが適用され、LastName のアルファベット順に並べ替えられます。結果は DataGrid に表示されます。

Partial Public Class MainPage
    Inherits UserControl

    Private _customerContext As New CustomerDomainContext

    Public Sub New()
        InitializeComponent()

        Dim query As EntityQuery(Of Customer)

        query = _
            From c In Me._customerContext.GetCustomersQuery() _
            Where c.Phone.StartsWith("583") _
            Order By c.LastName

        Dim loadOp = Me._customerContext.Load(query)
        CustomerGrid.ItemsSource = loadOp.Entities
    End Sub

End Class
public partial class MainPage : UserControl
{
    private CustomerDomainContext _customerContext = new CustomerDomainContext();

    public MainPage()
    {
        InitializeComponent();
        EntityQuery<Customer> query = 
            from c in _customerContext.GetCustomersQuery()
            where c.Phone.StartsWith("583")
            orderby c.LastName
            select c;
        LoadOperation<Customer> loadOp = this._customerContext.Load(query);
        CustomerGrid.ItemsSource = loadOp.Entities;
    }
}

解説

クライアント アプリケーションでは、追加のフィルター処理をクエリに適用して、返されるエンティティを制限できます。LINQ および LINQ クエリ演算子のサブセットを使用して、クエリから返された結果を変更します。次の表に使用できるクエリ演算子を示します。

  • Where

  • OrderBy

  • ThenBy

  • Skip

  • Take

追加のフィルター処理を適用した後、EntityQuery オブジェクトを Load メソッドにパラメーターとして渡し、クエリを実行して結果を取得します。クエリの QueryAttributeIsComposable プロパティが false に設定されている場合は、クエリに追加のフィルター処理を適用できません。通常は、単一のエンティティを返すクエリの場合にのみ IsComposablefalse に設定されています。

継承階層

System.Object
  System.ServiceModel.DomainServices.Client.EntityQuery
     System.ServiceModel.DomainServices.Client.EntityQuery

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008、および Windows 2000

ターゲット プラットフォーム

Change History

参照

リファレンス

EntityQuery のメンバー
System.ServiceModel.DomainServices.Client 名前空間