Condividi tramite


Classe EntityQuery

Rappresenta una chiamata a un metodo di query.

Spazio dei nomi: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)

Utilizzo

'Utilizzo
Dim instance As EntityQuery

Sintassi

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

Esempio

Nel codice riportato di seguito viene illustrato come recuperare clienti dal servizio del dominio. I clienti i cui numeri di telefono iniziano con 583 vengono filtrati e quindi disposti in ordine alfabetico in base a LastName. I risultati vengono visualizzati in 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;
    }
}

Osservazioni

Nell'applicazione client è possibile applicare filtri aggiuntivi a una query per limitare le entità restituite. Per modificare i risultati restituiti da una query si utilizza LINQ e un subset di operatori di query LINQ. Di seguito sono elencati gli operatori di query disponibili:

  • Where

  • OrderBy

  • ThenBy

  • Skip

  • Take

Una volta applicati i filtri aggiuntivi, l'oggetto EntityQuery viene passato come parametro nel metodo Load per eseguire la query e ottenere i risultati. Se la query dispone di un oggetto QueryAttribute con la proprietà IsComposable impostata su false, non è possibile applicare filtri aggiuntivi alla query. In genere, solo le query che restituiscono una sola entità avranno la proprietà IsComposable impostata su false.

Gerarchia di ereditarietà

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

Sicurezza dei thread

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 e Windows 2000

Piattaforme di destinazione

Change History

Vedere anche

Riferimento

Membri EntityQuery
Spazio dei nomi System.ServiceModel.DomainServices.Client