EntityQuery ジェネリック クラス
エンティティのコレクションに対する LINQ クエリを表します。
名前空間: System.ServiceModel.DomainServices.Client
アセンブリ: System.ServiceModel.DomainServices.Client (system.servicemodel.domainservices.client.dll 内)
使用方法
'使用
Dim instance As EntityQuery(Of TEntity)
構文
'宣言
Public NotInheritable Class EntityQuery(Of TEntity As Entity)
Inherits EntityQuery
public sealed class EntityQuery<TEntity> : EntityQuery where TEntity : Entity
generic<typename TEntity> where TEntity : Entity
public ref class EntityQuery sealed : public EntityQuery
GenericParameters
- TEntity
エンティティ型。
例
ドメイン サービスから顧客を取得する方法を次のコード例に示します。電話番号が 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 メソッドに渡して、クエリを実行し、結果を取得します。クエリの QueryAttribute で IsComposable プロパティが false に設定されている場合は、クエリに追加のフィルター処理を適用できません。通常は、単一のエンティティを返すクエリの場合にのみ IsComposable が false に設定されています。
継承階層
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 名前空間