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