Classe générique EntityQuery
Représente une requête LINQ sur une collection d'entités.
Espace de noms: System.ServiceModel.DomainServices.Client
Assembly : System.ServiceModel.DomainServices.Client (dans system.servicemodel.domainservices.client.dll)
Utilisation
'Utilisation
Dim instance As EntityQuery(Of TEntity)
Syntaxe
'Déclaration
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
Type d'entité.
Exemple
Le code suivant indique comment récupérer les clients du service de domaine. Il filtre les clients ayant des numéros de téléphone qui commencent par 583 et les classe par ordre alphabétique en fonction de LastName. Les résultats s'affichent dans un 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;
}
}
Notes
Dans votre application cliente, vous pouvez appliquer un filtrage supplémentaire sur une requête pour limiter les entités retournées. Vous utilisez LINQ et un sous-ensemble d'opérateurs de requête LINQ pour modifier les résultats retournés par la requête. Vous trouverez ci-dessous les opérateurs de requête disponibles :
Where
OrderBy
ThenBy
Skip
Take
Après avoir appliqué un filtrage supplémentaire, vous passez l'objet EntityQuery comme un paramètre dans la méthode Load pour exécuter la requête et obtenir les résultats. Si la requête a un QueryAttribute avec la propriété IsComposable définie sur false, vous ne pouvez pas appliquer de filtrage supplémentaire sur la requête. En général, seules les requêtes qui retournent une entité unique ont IsComposable défini sur false.
Hiérarchie d'héritage
System.Object
System.ServiceModel.DomainServices.Client.EntityQuery
System.ServiceModel.DomainServices.Client.EntityQuery
Sécurité des threads
Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plateformes
Plateformes de développement
Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003 , Windows Server 2008 et Windows 2000
Plateformes cibles
Change History
Voir aussi
Référence
Membres EntityQuery
Espace de noms System.ServiceModel.DomainServices.Client