Classe generica EntityQuery
Rappresenta una query LINQ su una raccolta di entità.
Spazio dei nomi: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)
Utilizzo
'Utilizzo
Dim instance As EntityQuery(Of TEntity)
Sintassi
'Dichiarazione
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
Tipo di entità.
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