EntityQuery (generische Klasse)
Stellt eine LINQ-Abfrage über Auflistung von Entitäten dar.
Namespace: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)
Verwendung
'Usage
Dim instance As EntityQuery(Of TEntity)
Syntax
'Declaration
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
Der Entitätstyp.
Beispiel
Im folgenden Code wird veranschaulicht, wie Kunden aus dem Domänendienst abgerufen werden können. Er filtert Kunden, deren Telefonnummern mit 583 beginnen, und sortiert sie alphabetisch nach LastName. Die Testergebnisse werden in einem DataGrid angezeigt.
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;
}
}
Hinweise
In der Clientanwendung können Sie zusätzliche Filter auf eine Abfrage anwenden, um die zurückgegebenen Entitäten einzuschränken. Verwenden Sie LINQ und eine Teilmenge der LINQ-Abfrageoperatoren, um die von der Abfrage zurückgegebenen Ergebnisse zu ändern. Im Folgenden werden die verfügbaren Abfrageoperatoren aufgelistet:
Where
OrderBy
ThenBy
Skip
Take
Nachdem Sie zusätzliche Filter angewendet haben, übergeben Sie das EntityQuery-Objekt als Parameter in der Load-Methode, um die Abfrage auszuführen und die Ergebnisse abzurufen. Wenn die Abfrage über ein QueryAttribute verfügt und die IsComposable-Eigenschaft auf false festgelegt ist, können Sie keine zusätzlichen Filter auf die Abfrage anwenden. In der Regel ist IsComposable nur bei Abfragen auf false festgelegt, die eine einzelne Entität zurückgeben.
Vererbungshierarchie
System.Object
System.ServiceModel.DomainServices.Client.EntityQuery
System.ServiceModel.DomainServices.Client.EntityQuery
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.
Plattformen
Entwicklungsplattformen
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 und Windows 2000
Zielplattformen
Change History
Siehe auch
Verweis
EntityQuery-Member
System.ServiceModel.DomainServices.Client-Namespace