Share via


EntityQuery-Klasse

Stellt einen Abfragemethodenaufruf dar.

Namespace: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)

Verwendung

'Usage
Dim instance As EntityQuery

Syntax

'Declaration
Public MustInherit Class EntityQuery
public abstract class EntityQuery
public ref class EntityQuery abstract
public abstract class EntityQuery
public abstract class EntityQuery

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